Add Message migration script

This commit is contained in:
runebaas 2018-09-05 21:15:13 +02:00
parent a8c91c0372
commit fce6be56e2
No known key found for this signature in database
GPG key ID: 2677AF508D0300D6
5 changed files with 132 additions and 36 deletions

View file

@ -151,17 +151,17 @@ namespace Geekbot.net.Commands.User.Ranking
private Dictionary<ulong, int> GetMessageList(int amount)
{
// return _database.Messages
// .Where(k => k.GuildId.Equals(Context.Guild.Id.AsLong()))
// .OrderByDescending(o => o.MessageCount)
// .Take(amount)
// .ToDictionary(key => key.UserId.AsUlong(), key => key.MessageCount);
return _redis.Db
.HashGetAll($"{Context.Guild.Id}:Messages")
.Where(user => !user.Name.Equals(0))
.OrderByDescending(s => s.Value)
return _database.Messages
.Where(k => k.GuildId.Equals(Context.Guild.Id.AsLong()))
.OrderByDescending(o => o.MessageCount)
.Take(amount)
.ToDictionary(user => ulong.Parse(user.Name), user => int.Parse(user.Value));
.ToDictionary(key => key.UserId.AsUlong(), key => key.MessageCount);
// return _redis.Db
// .HashGetAll($"{Context.Guild.Id}:Messages")
// .Where(user => !user.Name.Equals(0))
// .OrderByDescending(s => s.Value)
// .Take(amount)
// .ToDictionary(user => ulong.Parse(user.Name), user => int.Parse(user.Value));
}
private Dictionary<ulong, int> GetKarmaList(int amount)

View file

@ -39,15 +39,15 @@ namespace Geekbot.net.Commands.User
var age = Math.Floor((DateTime.Now - createdAt).TotalDays);
var joinedDayAgo = Math.Floor((DateTime.Now - joinedAt).TotalDays);
// var messages = _database.Messages
// .First(e => e.GuildId.Equals(Context.Guild.Id.AsLong()) && e.UserId.Equals(Context.User.Id.AsLong()))
// .MessageCount;
// var guildMessages = _database.Messages
// .Where(e => e.GuildId.Equals(Context.Guild.Id.AsLong()))
// .Select(e => e.MessageCount)
// .Sum();
var messages = (int) _redis.Db.HashGet($"{Context.Guild.Id}:Messages", userInfo.Id.ToString());
var guildMessages = (int) _redis.Db.HashGet($"{Context.Guild.Id}:Messages", 0.ToString());
var messages = _database.Messages
.First(e => e.GuildId.Equals(Context.Guild.Id.AsLong()) && e.UserId.Equals(Context.User.Id.AsLong()))
.MessageCount;
var guildMessages = _database.Messages
.Where(e => e.GuildId.Equals(Context.Guild.Id.AsLong()))
.Select(e => e.MessageCount)
.Sum();
// var messages = (int) _redis.Db.HashGet($"{Context.Guild.Id}:Messages", userInfo.Id.ToString());
// var guildMessages = (int) _redis.Db.HashGet($"{Context.Guild.Id}:Messages", 0.ToString());
var level = _levelCalc.GetLevel(messages);
var percent = Math.Round((double) (100 * messages) / guildMessages, 2);