mirror of
https://github.com/Jetsparrow/karmabot.git
synced 2026-01-21 00:56:09 +03:00
Generate username from first and last names, and update usernames in
the database.
This commit is contained in:
parent
ddf58321ec
commit
c1523f69db
@ -76,16 +76,18 @@ namespace JetKarmaBot.Commands
|
||||
});
|
||||
log.Debug($"Awarded {(awarding ? 1 : -1)}{awardType.Symbol} to {recipient.Username}");
|
||||
db.SaveChanges();
|
||||
|
||||
var recUserName = db.Users.Find(recipient.Id).Username;
|
||||
|
||||
string message = awarding
|
||||
? string.Format(currentLocale["jetkarmabot.award.awardmessage"], getLocalizedName(awardType, currentLocale), "@" + recipient.Username)
|
||||
: string.Format(currentLocale["jetkarmabot.award.revokemessage"], getLocalizedName(awardType, currentLocale), "@" + recipient.Username);
|
||||
? string.Format(currentLocale["jetkarmabot.award.awardmessage"], getLocalizedName(awardType, currentLocale), recUserName)
|
||||
: string.Format(currentLocale["jetkarmabot.award.revokemessage"], getLocalizedName(awardType, currentLocale), recUserName);
|
||||
|
||||
var currentCount = db.Awards
|
||||
.Where(aw => aw.ToId == recipient.Id && aw.AwardTypeId == awardType.AwardTypeId && aw.ChatId == args.Message.Chat.Id)
|
||||
.Sum(aw => aw.Amount);
|
||||
|
||||
var response = message + "\n" + String.Format(currentLocale["jetkarmabot.award.statustext"], "@" + recipient.Username, currentCount, awardType.Symbol);
|
||||
var response = message + "\n" + String.Format(currentLocale["jetkarmabot.award.statustext"], recUserName, currentCount, awardType.Symbol);
|
||||
|
||||
Client.SendTextMessageAsync(
|
||||
args.Message.Chat.Id,
|
||||
|
||||
@ -57,11 +57,9 @@ namespace JetKarmaBot
|
||||
return;
|
||||
using (KarmaContext db = Db.GetContext())
|
||||
{
|
||||
if (!db.Users.Any(x => x.UserId == messageEventArgs.Message.From.Id))
|
||||
db.Users.Add(new Models.User { UserId = messageEventArgs.Message.From.Id, Username = messageEventArgs.Message.From.Username});
|
||||
AddUserToDatabase(db, messageEventArgs.Message.From);
|
||||
if (messageEventArgs.Message.ReplyToMessage != null)
|
||||
if (!db.Users.Any(x => x.UserId == messageEventArgs.Message.ReplyToMessage.From.Id))
|
||||
db.Users.Add(new Models.User { UserId = messageEventArgs.Message.ReplyToMessage.From.Id, Username = messageEventArgs.Message.ReplyToMessage.From.Username });
|
||||
AddUserToDatabase(db, messageEventArgs.Message.ReplyToMessage.From);
|
||||
if (!db.Chats.Any(x => x.ChatId == messageEventArgs.Message.Chat.Id))
|
||||
db.Chats.Add(new Models.Chat { ChatId = messageEventArgs.Message.Chat.Id });
|
||||
db.SaveChanges();
|
||||
@ -72,6 +70,19 @@ namespace JetKarmaBot
|
||||
Task.Run(() => Commands.Execute(sender, messageEventArgs));
|
||||
}
|
||||
|
||||
private void AddUserToDatabase(KarmaContext db, Telegram.Bot.Types.User u)
|
||||
{
|
||||
string un;
|
||||
if (u.Username == null)
|
||||
un = u.FirstName + (u.LastName != null ? " " + u.LastName : "");
|
||||
else
|
||||
un = "@" + u.Username;
|
||||
if (!db.Users.Any(x => x.UserId == u.Id))
|
||||
db.Users.Add(new Models.User { UserId = u.Id, Username = un});
|
||||
else
|
||||
db.Users.Find(u.Id).Username = un;
|
||||
}
|
||||
|
||||
void InitCommands(IContainer c)
|
||||
{
|
||||
Commands = c.ResolveObject(new ChatCommandRouter(Me));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user