internal bool Groups(TgMessage RawMessage) { using (var db = new BlacklistDatabaseContext()) { string groups = ""; List <GroupCfg> groupCfg = null; try { groupCfg = db.GroupConfig.ToList(); } catch (InvalidOperationException) { return(false); } if (groupCfg == null) { return(false); } foreach (GroupCfg cfg in groupCfg) { string groupInfo = "無法取得"; try { groupInfo = TgApi.getDefaultApiConnection().getChatInfo(cfg.GroupID).result.GetChatTextInfo(); } catch { } groups = groups + cfg.GroupID + " : \n" + RAPI.escapeMarkdown(groupInfo) + "\n\n"; if (groups.Length > 3072) { TgApi.getDefaultApiConnection() .sendMessage(RawMessage.chat.id, groups, ParseMode: TgApi.PARSEMODE_MARKDOWN); groups = ""; Thread.Sleep(3000); } } if (groups.Length > 0) { TgApi.getDefaultApiConnection() .sendMessage(RawMessage.chat.id, groups, ParseMode: TgApi.PARSEMODE_MARKDOWN); } TgApi.getDefaultApiConnection() .sendMessage(RawMessage.chat.id, "Groups 輸出完畢!", RawMessage.message_id); } return(true); }
internal bool BC(TgMessage RawMessage, string Msg) { TgApi.getDefaultApiConnection() .sendMessage(RawMessage.chat.id, "傳送中.........!", RawMessage.message_id); Console.WriteLine("Broadcasting " + Msg + " ......"); using (var db = new BlacklistDatabaseContext()) { string groups = ""; List <GroupCfg> groupCfg = null; try { groupCfg = db.GroupConfig.ToList(); } catch (InvalidOperationException) { return(false); } if (groupCfg == null) { return(false); } foreach (GroupCfg cfg in groupCfg) { Console.WriteLine("Broadcasting " + Msg + " to group ChatID : " + cfg.GroupID); SendMessageResult result = TgApi.getDefaultApiConnection() .sendMessage(cfg.GroupID, Msg, ParseMode: TgApi.PARSEMODE_MARKDOWN); if (result.ok) { groups = groups + "\n" + cfg.GroupID + " : 成功"; } else { groups = groups + "\n" + cfg.GroupID + " : 失敗"; } Thread.Sleep(500); } TgApi.getDefaultApiConnection() .sendMessage(RawMessage.chat.id, "有夠Highㄉ,傳送完畢!" + groups, RawMessage.message_id); } return(true); }
internal void CallGroups(BanUser user) { if (Temp.DisableAdminTools) { return; } if (user.Level == 1) { return; } using (var db = new BlacklistDatabaseContext()) { List <GroupCfg> groupCfg = null; try { groupCfg = db.GroupConfig .Where(cfg => cfg.SubscribeBanList == 0) .ToList(); } catch (InvalidOperationException) { return; } if (groupCfg == null) { return; } foreach (GroupCfg cfg in groupCfg) { var userInChatInfo = TgApi.getDefaultApiConnection().getChatMember(cfg.GroupID, user.UserID); if (userInChatInfo.ok) { if (userInChatInfo.result.status == "member") { TgApi.getDefaultApiConnection().kickChatMember(cfg.GroupID, user.UserID, GetTime.GetUnixTime() + 86400); TgApi.getDefaultApiConnection().sendMessage( cfg.GroupID, "新的被封禁用户:\n\n" + user.GetBanMessage() + "\n\n由于您订阅了封禁列表,已根据您的设定自动移除。" ); } } Thread.Sleep(3000); } } }
internal void CallGroups(int user) { if (Temp.DisableAdminTools) { return; } using (var db = new BlacklistDatabaseContext()) { List <GroupCfg> groupCfg = null; try { groupCfg = db.GroupConfig.ToList(); } catch (InvalidOperationException) { return; } if (groupCfg == null) { return; } foreach (GroupCfg cfg in groupCfg) { var userInChatInfo = TgApi.getDefaultApiConnection().getChatMember(cfg.GroupID, user); if (!userInChatInfo.ok) { TgApi.getDefaultApiConnection().unbanChatMember(cfg.GroupID, user); TgApi.getDefaultApiConnection() .restrictChatMember(cfg.GroupID, user, 0, true, true, true, true); } Thread.Sleep(500); } } }
internal void CallGroups(BanUser user) { if (Config.DisableAdminTools) { return; } if (user.Level == 1) { return; } using (var db = new BlacklistDatabaseContext()) { List <GroupCfg> groupCfg = null; try { groupCfg = db.GroupConfig .Where(cfg => cfg.SubscribeBanList == 0) .ToList(); } catch (InvalidOperationException) { return; } if (groupCfg == null) { return; } var random = new Random(); groupCfg = groupCfg.OrderBy(x => random.Next()).ToList(); foreach (GroupCfg cfg in groupCfg) { var userInChatInfo = TgApi.getDefaultApiConnection().getChatMember(cfg.GroupID, user.UserID); if (userInChatInfo.ok) { if (userInChatInfo.result.status == "member") { try { new Thread(delegate() { Console.WriteLine("[SubscribeBanList] Ban " + user.UserID + " in " + cfg.GroupID); //TgApi.getDefaultApiConnection().restrictChatMember( // cfg.GroupID, // user.UserID, // GetTime.GetUnixTime() + 10, // false); SendMessageResult result = TgApi.getDefaultApiConnection().sendMessage( cfg.GroupID, "使用者 : `" + user.UserID + "`\n" + user.GetBanMessageMarkdown() + "\n\n由於開啟了 SubscribeBanList ,已嘗試自動移除。", ParseMode: TgApi.PARSEMODE_MARKDOWN); Thread.Sleep(5000); TgApi.getDefaultApiConnection() .kickChatMember(cfg.GroupID, user.UserID, GetTime.GetUnixTime() + 28800); }).Start(); } catch { } } } Thread.Sleep(500); } } }
internal bool CUP(TgMessage RawMessage) { TgApi.getDefaultApiConnection() .sendMessage(RawMessage.chat.id, "處理中.........!", RawMessage.message_id); using (var db = new BlacklistDatabaseContext()) { string groups = ""; List <GroupCfg> groupCfg = null; try { groupCfg = db.GroupConfig.ToList(); } catch (InvalidOperationException) { return(false); } if (groupCfg == null) { return(false); } foreach (GroupCfg cfg in groupCfg) { bool status = false; SendMessageResult result = TgApi.getDefaultApiConnection().sendMessage( cfg.GroupID, "測試訊息(不用理會此訊息)"); if (result.ok) { TgApi.getDefaultApiConnection().deleteMessage(cfg.GroupID, result.result.message_id); status = true; } if (status) { groups = groups + cfg.GroupID + " : Bot是聊天成員,略過\n"; } else { groups = groups + cfg.GroupID + " : Bot不是聊天成員,"; if (Temp.GetDatabaseManager().RemoveGroupCfg(cfg.GroupID)) { groups = groups + "移除成功\n"; } else { groups = groups + "移除失敗\n"; } } } var charlist = new List <string>(); for (var i = 0; i < groups.Length; i += 4000) { charlist.Add(groups.Substring(i, Math.Min(4000, groups.Length - i))); } foreach (string msg in charlist) { TgApi.getDefaultApiConnection().sendMessage( RawMessage.GetMessageChatInfo().id, msg, RawMessage.message_id, TgApi.PARSEMODE_HTML ); } } TgApi.getDefaultApiConnection().sendMessage( RawMessage.GetMessageChatInfo().id, "CleanUP 執行完畢", RawMessage.message_id, TgApi.PARSEMODE_HTML ); return(true); }
internal bool SoamEnable_All(TgMessage RawMessage) { string enabled = ""; string otherMsg = ""; string groupChatID = ""; int AdminOnly = 3; int Blacklist = 3; int AutoKick = 3; int AntiHalal = 3; int AutoDeleteSpamMessage = 3; int AutoDeleteCommand = 3; int SubscribeBanList = 3; string text = RawMessage.text.ToLower(); if (text.IndexOf(" adminonly") != -1) { AdminOnly = 0; enabled += " AdminOnly"; } if (text.IndexOf(" blacklist") != -1) { Blacklist = 0; if (Temp.DisableBanList) { otherMsg += "\nBlackList 開啟失敗,目前版本未啟用此功能。。"; } else { enabled += " Blacklist"; } } if (text.IndexOf(" autokick") != -1) { AutoKick = 0; if (Temp.DisableBanList) { otherMsg += "\nAutoKick 開啟失敗,目前版本未啟用此功能。。"; } else { enabled += " AutoKick"; } } if (text.IndexOf(" antihalal") != -1) { AntiHalal = 0; enabled += " AntiHalal"; } if (text.IndexOf(" autodeletespammessage") != -1) { AutoDeleteSpamMessage = 0; if (Temp.DisableBanList) { otherMsg += "\nAutoDeleteSpamMessage 開啟失敗,目前版本未啟用此功能。。"; } else { enabled += " AutoDeleteSpamMessage"; } } if (text.IndexOf(" autodeletecommand") != -1) { AutoDeleteCommand = 0; enabled += " AutoDeleteCommand"; } if (text.IndexOf(" subscribebanlist") != -1) { SubscribeBanList = 0; if (Temp.DisableBanList) { otherMsg += "\nSubscribeBanList 開啟失敗,目前版本未啟用此功能。。"; } else { enabled += " SubscribeBanList"; } enabled += " SubscribeBanList"; } using (var db = new BlacklistDatabaseContext()) { List <GroupCfg> groupCfg = null; try { groupCfg = db.GroupConfig.ToList(); } catch (InvalidOperationException) { return(false); } if (groupCfg == null) { return(false); } foreach (GroupCfg cfg in groupCfg) { Temp.GetDatabaseManager().SetGroupConfig( cfg.GroupID, AdminOnly, Blacklist, AutoKick, AntiHalal: AntiHalal, AutoDeleteSpamMessage: AutoDeleteSpamMessage, AutoDeleteCommand: AutoDeleteCommand, SubscribeBanList: SubscribeBanList ); if (enabled == "") { if (Temp.MainChannelName == null) { enabled = ""; } else { enabled = ""; } } groupChatID = groupChatID + "\n" + cfg.GroupID; } TgApi.getDefaultApiConnection().sendMessage(RawMessage.chat.id, "有夠Highㄉ,處理完畢! \n\nChat ID : \n" + groupChatID + "\n\n開啟的功能為:\n" + enabled + otherMsg, RawMessage.message_id); } return(true); }