Как сделать проверку человека в телеграмме на админку?
Используются библиотеки:
Telegram.Bot 16.0.1
Newtonsoft.Json последняя версия
Объясните, пожалуйста, как используя эти библиотеки, сделать проверку на то, является ли человек просто участником чата, админом чата или создателем чата (нужно для ограничения использования бана и мьюта). Или есть какая-то библиотека, с помощью которой это можно сделать без особых махинаций ( у меня получилось только с махинациями, и неверно получалось)? Спасибо!
Василий Банников, да, это мой друган, мы это уже пробовали разными путями, в итоге для кода это одно и тоже, могу кинуть исходник этого сырого алгоритма:
case "/ban@Laura_cm_bot":
if (msg.ReplyToMessage == null)
{
await client.SendTextMessageAsync(chatId: msg.Chat.Id, "⚠Вы не указали пользователя!");
break;
}
else if (msg.ReplyToMessage != null)
await client.GetChatAdministratorsAsync(chatId: msg.Chat.Id);
var MemberOutput = client.GetChatMemberAsync(chatId: msg.Chat.Id, userId: msg.From.Id).Result;
var MemberTarget = client.GetChatMemberAsync(chatId: msg.Chat.Id, userId: msg.ReplyToMessage.From.Id).Result;
if (MemberOutput.Status != Owner | MemberOutput.Status != Admin)
{
await client.SendTextMessageAsync(chatId: msg.Chat.Id, $"⛔@{msg.From.Username}, вы не являетесь администратором/создателем чата!");
break;
}
else if (MemberTarget.Status == Admin | MemberTarget.Status == Owner)
{
await client.SendTextMessageAsync(chatId: msg.Chat.Id, $"⛔@{msg.ReplyToMessage.From.Username} является администратором чата «{msg.Chat.Title}»");
break;
}
else
await client.KickChatMemberAsync(userId: msg.ReplyToMessage.From.Id, chatId: msg.Chat.Id, cancellationToken: default);
await client.SendTextMessageAsync(chatId: msg.Chat.Id, $"❌Участник был забанен модератором: @{msg.From.Username}!");
break;