mirror of
https://github.com/Bubuni-Team/telegram-bot.git
synced 2026-07-31 00:29:24 +03:00
[cas] use file-scoped namespaces
This commit is contained in:
@@ -11,50 +11,49 @@ using Telegram.Bot;
|
||||
using Telegram.Bot.Types;
|
||||
using Telegram.Bot.Types.Enums;
|
||||
|
||||
namespace Kruzya.TelegramBot.CombotAntiSpam
|
||||
{
|
||||
public class UserJoinHandler : BotEventHandler
|
||||
{
|
||||
protected ICombotClient _combotClient;
|
||||
protected ILogger _logger;
|
||||
namespace Kruzya.TelegramBot.CombotAntiSpam;
|
||||
|
||||
public UserJoinHandler(ICombotClient combotClient)
|
||||
public class UserJoinHandler : BotEventHandler
|
||||
{
|
||||
protected ICombotClient _combotClient;
|
||||
protected ILogger _logger;
|
||||
|
||||
public UserJoinHandler(ICombotClient combotClient)
|
||||
{
|
||||
_combotClient = combotClient;
|
||||
}
|
||||
|
||||
[Message(InChat.Public, MessageFlag.HasNewChatMembers)]
|
||||
public async Task OnUserJoined()
|
||||
{
|
||||
// var canKickMembers = (await Bot.GetChatMemberAsync(Chat, (await Bot.GetMeAsync()).Id)).CanRestrictMembers == true;
|
||||
var meUserId = (await Bot.GetMeAsync()).Id;
|
||||
var meChatMember = await Bot.GetChatMemberAsync(Chat, meUserId);
|
||||
|
||||
var canKickMembers = false;
|
||||
if (meChatMember is ChatMemberAdministrator adminMember)
|
||||
{
|
||||
_combotClient = combotClient;
|
||||
canKickMembers = adminMember.CanRestrictMembers;
|
||||
}
|
||||
|
||||
[Message(InChat.Public, MessageFlag.HasNewChatMembers)]
|
||||
public async Task OnUserJoined()
|
||||
foreach (var member in RawUpdate.Message.NewChatMembers)
|
||||
{
|
||||
// var canKickMembers = (await Bot.GetChatMemberAsync(Chat, (await Bot.GetMeAsync()).Id)).CanRestrictMembers == true;
|
||||
var meUserId = (await Bot.GetMeAsync()).Id;
|
||||
var meChatMember = await Bot.GetChatMemberAsync(Chat, meUserId);
|
||||
|
||||
var canKickMembers = false;
|
||||
if (meChatMember is ChatMemberAdministrator adminMember)
|
||||
if (!(await _combotClient.IsSpammerAsync(member)))
|
||||
{
|
||||
canKickMembers = adminMember.CanRestrictMembers;
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach (var member in RawUpdate.Message.NewChatMembers)
|
||||
|
||||
var messageText = new StringBuilder();
|
||||
messageText.Append($"⚠️ <b>Combot Anti-Spam</b>\n\n");
|
||||
messageText.Append($"User {member.ToHtml(true)} is spammer.\n");
|
||||
messageText.Append(
|
||||
$"More details you can find on <a href=\"https://cas.chat/query?u={member.Id}\">CAS site</a>.");
|
||||
|
||||
await Bot.SendTextMessageAsync(Chat, messageText.ToString(), parseMode: ParseMode.Html);
|
||||
|
||||
if (canKickMembers)
|
||||
{
|
||||
if (!(await _combotClient.IsSpammerAsync(member)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var messageText = new StringBuilder();
|
||||
messageText.Append($"⚠️ <b>Combot Anti-Spam</b>\n\n");
|
||||
messageText.Append($"User {member.ToHtml(true)} is spammer.\n");
|
||||
messageText.Append(
|
||||
$"More details you can find on <a href=\"https://cas.chat/query?u={member.Id}\">CAS site</a>.");
|
||||
|
||||
await Bot.SendTextMessageAsync(Chat, messageText.ToString(), parseMode: ParseMode.Html);
|
||||
|
||||
if (canKickMembers)
|
||||
{
|
||||
await Bot.BanChatMemberAsync(Chat, member.Id);
|
||||
}
|
||||
await Bot.BanChatMemberAsync(Chat, member.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user