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