Check permissions on /at create

This commit is contained in:
Nikolay Kochulin 2019-11-16 20:37:12 +00:00
parent 609e4c018f
commit 3512a7f9e4

View File

@ -6,6 +6,8 @@ using JetKarmaBot.Services;
using Perfusion; using Perfusion;
using Telegram.Bot; using Telegram.Bot;
using Telegram.Bot.Args; using Telegram.Bot.Args;
using Telegram.Bot.Types;
using Telegram.Bot.Types.Enums;
namespace JetKarmaBot.Commands.AwardTypeManage namespace JetKarmaBot.Commands.AwardTypeManage
{ {
@ -63,12 +65,24 @@ namespace JetKarmaBot.Commands.AwardTypeManage
using (var db = Db.GetContext()) using (var db = Db.GetContext())
{ {
var currentLocale = Locale[(await db.Chats.FindAsync(args.Message.Chat.Id)).Locale]; var currentLocale = Locale[(await db.Chats.FindAsync(args.Message.Chat.Id)).Locale];
ChatMember cm = await Client.GetChatMemberAsync(args.Message.Chat.Id, args.Message.From.Id);
if (cm.Status != ChatMemberStatus.Administrator && cm.Status != ChatMemberStatus.Creator)
{
await Client.SendTextMessageAsync(
args.Message.Chat.Id,
currentLocale["jetkarmabot.at.create.errperm"],
replyToMessageId: args.Message.MessageId);
return true;
}
if (cmd.Parameters.Length < 4 || cmd.Parameters.Length > 5) if (cmd.Parameters.Length < 4 || cmd.Parameters.Length > 5)
{ {
await Client.SendTextMessageAsync( await Client.SendTextMessageAsync(
args.Message.Chat.Id, args.Message.Chat.Id,
currentLocale["jetkarmabot.at.create.errarg"], currentLocale["jetkarmabot.at.create.errarg"],
replyToMessageId: args.Message.MessageId); replyToMessageId: args.Message.MessageId);
return true;
} }
string cmdname = cmd.Parameters[0]; string cmdname = cmd.Parameters[0];
@ -91,7 +105,7 @@ namespace JetKarmaBot.Commands.AwardTypeManage
await Client.SendTextMessageAsync( await Client.SendTextMessageAsync(
args.Message.Chat.Id, args.Message.Chat.Id,
currentLocale["jetkarmabot.at.create.success"], currentLocale[string.Format("jetkarmabot.at.create.success", cmdname)],
replyToMessageId: args.Message.MessageId); replyToMessageId: args.Message.MessageId);
return true; return true;