public static void doCaptcha(TGUser user, TGChat chat, GroupConfigurationObject GCO, TGMessage msg) { var CustomText = GCO.getString("verifyask"); var delayDelay = GCO.getInt("verifydelay"); var apiEndpoint = Config.getValue("APIEndpoint"); //-- NOTE: Capital config, gets the member from the C# state for config. var challengeData = Helpers.Base64Encode(user.id.ToString() + chat.id.ToString()); var actURL = Helpers.quickFormat(ref apiEndpoint, "%s", challengeData); var UserName = Helpers.getMentionName(user); var regularLocalization = Localization.getStringLocalized(GCO.getString("language"), "captcha/userWelcome", UserName, delayDelay, actURL); if (CustomText != null) { if (CustomText.Length > 10) { CustomText = Helpers.quickFormat(ref CustomText, "%NAME", UserName); CustomText = Helpers.quickFormat(ref CustomText, "%ACTURL", actURL); CustomText = Helpers.quickFormat(ref CustomText, "%DURATION", delayDelay.ToString()); regularLocalization = CustomText; } } var actMessage = Telegram.sendMessage(chat, regularLocalization, "HTML"); if (actMessage == null) { Console.WriteLine("Parse error sending message. Re-sending without parsemode"); actMessage = Telegram.sendMessage(chat, regularLocalization); } //(user, chat, actMessage, config, challengeData, delay, message) Verify.addInstance(user, chat, actMessage, GCO, challengeData, delayDelay, msg); }
public static void doNotify(long user, long mid, long groupID, GroupConfigurationObject GCO, long jmid) { var ra = 0; SQL.NonQuery($"UPDATE `verify` SET notified=TRUE WHERE `user`={user} AND `group`={groupID}", out ra); var thc = new TGChat { id = groupID }; var thu = new TGUser { id = user }; var thm = Telegram.getChatMember(thc, thu); var deleteJMID = GCO.getBool("dontdeletejoinmessage"); if (mid != 0) { Telegram.deleteMessage(thc, mid); } if (jmid != 0 && deleteJMID == false) { Telegram.deleteMessage(thc, jmid); } root.callHook.Call("verUserVerifiedNotify", thc, thu, groupID, GCO); if (GCO.getBool("verifyannounce")) { var name = Helpers.getMentionName(thm); var sendMsg = Localization.getStringLocalized(GCO.getString("language"), "verify/userVerified", name); var vermsg = GCO.getString("verifymessage"); if ((vermsg != null) & (vermsg.Length > 2)) { sendMsg = vermsg; sendMsg = sendMsg.Replace("%NAME", name); } var msg = Telegram.sendMessage(new TGChat { id = groupID }, sendMsg, "HTML"); Cleanup.addMessage(msg); } }
public static void doRemovalDoubt(long user, long mid, long groupID, GroupConfigurationObject GCO, long jmid) { int ra = 0; SQL.NonQuery($"DELETE FROM `verify` WHERE `user`={user} AND `group`={groupID}", out ra); SQL.NonQuery($"INSERT INTO `verify_doubt` (`user`,`group`) VALUES({user},{groupID})", out ra); Removals.addIncident(new TGUser() { id = user }, new TGChat { id = groupID }, "VERIFYEXPIRE"); root.callHook.Call("verUserRemoved", user, mid, groupID, GCO, true); var thc = new TGChat() { id = groupID }; var thu = new TGUser() { id = user }; var thm = Telegram.getChatMember(thc, thu); if (mid != 0) { Telegram.deleteMessage(thc, mid); } if (jmid != 0) { Telegram.deleteMessage(thc, jmid); } Telegram.kickChatMember(thc, thu, 120); if (GCO.getBool("verifyannounce")) { var name = Helpers.getMentionName(thm); var sendMsg = Localization.getStringLocalized(GCO.getString("language"), "verify/userKickedDoubt", name); var msg = Telegram.sendMessage(new TGChat() { id = groupID }, sendMsg); Cleanup.addMessage(msg); } }
public static void doRemoval(long user, long mid, long groupID, GroupConfigurationObject GCO, long jmid) { int ra = 0; Removals.addIncident(new TGUser() { id = user }, new TGChat { id = groupID }, "VERIFYEXPIRE"); SQL.NonQuery($"DELETE FROM `verify` WHERE `user`={user} AND `group`={groupID}", out ra); root.callHook.Call("verUserRemoved", user, mid, groupID, GCO, false); var thc = new TGChat() { id = groupID }; var thu = new TGUser() { id = user }; var thm = Telegram.getChatMember(thc, thu); if (mid != 0) { Telegram.deleteMessage(thc, mid); } if (jmid != 0) { Telegram.deleteMessage(thc, jmid); } Telegram.kickChatMember(thc, thu, 0); //Telegram.sendMessage(thc, "welcome to kicked, nobody will ever know you existed."); if (GCO.getBool("verifyannounce")) { var name = Helpers.getMentionName(thm); var sendMsg = Localization.getStringLocalized(GCO.getString("language"), "verify/userKicked", name); var msg = Telegram.sendMessage(new TGChat() { id = groupID }, sendMsg); Cleanup.addMessage(msg); } }