public static void doURLMediaFilter(TGMessage msg, TGUser usr) { var chat = msg.chat; // grab chat. var enabled = XenforceRoot.getGroupConfigurationValue(chat, "kickurlunactivated", false); // Check configuration value. if (!enabled) // return if not enabled. { return; } var qsc = "SELECT * FROM xen_activations WHERE activated=0 AND `group`={0} AND `forwho`={1}"; // var rqry = string.Format(qsc, chat.id, usr.id); SQLQueryInstance QueryInst; var queryok = SQL.Query(rqry, out QueryInst); bool onerow = false; if (QueryInst != null && QueryInst.reader.HasRows) // They've already been kicked before. If we return at least one row, then its valid to assume they havent activated { // There can only be one activation index per user per group. onerow = true; } if (QueryInst != null) { QueryInst.Finish(); } if (!onerow) { return; // There was no activation } var wtf = msg.replySendMessage(usr.first_name + " was removed from the chat for sending URL/Media before activating!"); XenforceRoot.AddCleanupMessage(msg.chat.id, wtf.message_id, 30); Telegram.kickChatMember(msg.chat, msg.from, 30); msg.delete(); var statement = string.Format("INSERT INTO xenf_autokick (`group`,`user`,`when`,`why`) VALUES ({0},{1},{2},'{3}')", msg.chat.id, msg.from.id, Helpers.getUnixTime(), "URLMedia_Picture" ); int ra = 0; SQL.NonQuery(statement, out ra); if (ra < 1) { Console.WriteLine("Creating autorem incident failed failed. No SQL rows affected."); var cmsg = msg.replySendMessage("AutoremAddIncident() FAILED:\n\n Info:\n\n" + SQL.getLastError()); XenforceRoot.AddCleanupMessage(chat.id, cmsg.message_id, 120); } }
public static bool namefilter(TGMessage msg, TGUser usr) { var chat = msg.chat; var enable = XenforceRoot.getGroupConfigurationValue(chat, "autobannames", true); if (!enable) { return(false); } // Not enabled. var qsc = "SELECT * FROM xenf_autokick WHERE `group`={0} AND `user`={1}"; var rqry = string.Format(qsc, chat.id, usr.id); MySql.Data.MySqlClient.MySqlDataReader datar; SQLQueryInstance QueryInst; var queryok = SQL.Query(rqry, out QueryInst); if (QueryInst != null && QueryInst.reader.HasRows) // They've already been kicked before. { QueryInst.Finish(); return(false); } if (QueryInst != null) { QueryInst.Finish();; } var UserID = usr.id; var GroupID = msg.chat.id; var user_name_full = usr.first_name + " " + usr.last_name; var userscore = 0; for (int i = 0; i < ShitNames.Length; i++) { var q = user_name_full.Contains(ShitNames[i]); if (q) { userscore++; } } if (userscore > 0) { Telegram.kickChatMember(chat, usr, 120); if (XenforceRoot.getGroupConfigurationValue(chat, "announcekicks", 1) > 0) { msg.delete(); var msgr = msg.replySendMessage(user_name_full + " removed -- name matches common bot."); XenforceRoot.AddCleanupMessage(chat.id, msgr.message_id, 30); var statement = string.Format("INSERT INTO xenf_autokick (`group`,`user`,`when`,`why`) VALUES ({0},{1},{2},'{3}')", GroupID, UserID, Helpers.getUnixTime(), "Name is in blacklist" ); int ra = 0; SQL.NonQuery(statement, out ra); if (ra < 1) { Console.WriteLine("Creating autorem incident failed failed. No SQL rows affected."); var cmsg = msg.replySendMessage("AutoremAddIncident() FAILED:\n\n Info:\n\n" + SQL.getLastError()); XenforceRoot.AddCleanupMessage(chat.id, cmsg.message_id, 120); } } return(true); } return(false); }
public static bool autorem(TGMessage msg, TGUser usr) { var chat = msg.chat; var enable = XenforceRoot.getGroupConfigurationValue(chat, "autoban", true); if (!enable) { return(false); } // Not enabled. var qsc = "SELECT * FROM xenf_autokick WHERE `group`={0} AND `user`={1}"; var rqry = string.Format(qsc, chat.id, usr.id); MySql.Data.MySqlClient.MySqlDataReader datar; SQLQueryInstance QueryInst; var queryok = SQL.Query(rqry, out QueryInst); if (QueryInst != null && QueryInst.reader.HasRows) // They've already been kicked before. { QueryInst.Finish(); return(false); } if (QueryInst != null) { QueryInst.Finish(); } var UserID = usr.id; var GroupID = msg.chat.id; var user_name_full = usr.first_name + " " + usr.last_name; var userscore = 500; for (int i = 0; i < user_name_full.Length; i++) { var wtf = user_name_full[i]; if (wtf > 0xAF) { userscore += 5; } else if (wtf < 0x80) { userscore -= 3; } } var picons = Telegram.getNumProfilePhotos(usr); userscore -= picons * 45; if (picons == 0) { userscore += 30; } if (userscore > 488) { Telegram.kickChatMember(chat, usr, 120); if (XenforceRoot.getGroupConfigurationValue(chat, "announcekicks", 1) > 0) { msg.delete(); var msgr = msg.replySendMessage(user_name_full + " was automatically removed from the chat -- I think they're a bot."); XenforceRoot.AddCleanupMessage(chat.id, msgr.message_id, 30); var statement = string.Format("INSERT INTO xenf_autokick (`group`,`user`,`when`,`why`) VALUES ({0},{1},{2},'{3}')", GroupID, UserID, Helpers.getUnixTime(), "Bot Score too high" ); int ra = 0; SQL.NonQuery(statement, out ra); if (ra < 1) { Console.WriteLine("Creating autorem incident failed failed. No SQL rows affected."); var cmsg = msg.replySendMessage("AutoremAddIncident() FAILED:\n\n Info:\n\n" + SQL.getLastError()); XenforceRoot.AddCleanupMessage(chat.id, cmsg.message_id, 120); } } return(true); } return(false); }