Python telegram.ext.Filters.group() Examples
The following are 30
code examples of telegram.ext.Filters.group().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
telegram.ext.Filters
, or try the search function
.
![](https://www.programcreek.com/common/static/images/search.png)
Example #1
Source File: telegram.py From platypush with MIT License | 7 votes |
def run(self): # noinspection PyPackageRequirements from telegram.ext import MessageHandler, Filters super().run() telegram = self._plugin.get_telegram() dispatcher = telegram.dispatcher dispatcher.add_handler(MessageHandler(Filters.group, self._group_hook())) dispatcher.add_handler(MessageHandler(Filters.text, self._msg_hook(TextMessageEvent))) dispatcher.add_handler(MessageHandler(Filters.photo, self._msg_hook(PhotoMessageEvent))) dispatcher.add_handler(MessageHandler(Filters.video, self._msg_hook(VideoMessageEvent))) dispatcher.add_handler(MessageHandler(Filters.contact, self._msg_hook(ContactMessageEvent))) dispatcher.add_handler(MessageHandler(Filters.location, self._msg_hook(LocationMessageEvent))) dispatcher.add_handler(MessageHandler(Filters.document, self._msg_hook(DocumentMessageEvent))) dispatcher.add_handler(MessageHandler(Filters.command, self._command_hook())) self.logger.info('Initialized Telegram backend') telegram.start_polling() # vim:sw=4:ts=4:et:
Example #2
Source File: global_bans.py From SkittBot with GNU General Public License v3.0 | 6 votes |
def gbanstat(bot: Bot, update: Update, args: List[str]): if len(args) > 0: if args[0].lower() in ["on", "yes"]: sql.enable_gbans(update.effective_chat.id) update.effective_message.reply_text("I've enabled gbans in this group. This will help protect you " "from spammers, unsavoury characters, and the biggest trolls.") elif args[0].lower() in ["off", "no"]: sql.disable_gbans(update.effective_chat.id) update.effective_message.reply_text("I've disabled gbans in this group. GBans wont affect your users " "anymore. You'll be less protected from any trolls and spammers " "though!") else: update.effective_message.reply_text("Give me some arguments to choose a setting! on/off, yes/no!\n\n" "Your current setting is: {}\n" "When True, any gbans that happen will also happen in your group. " "When False, they won't, leaving you at the possible mercy of " "spammers.".format(sql.does_chat_gban(update.effective_chat.id)))
Example #3
Source File: global_bans.py From tgbot with GNU General Public License v3.0 | 6 votes |
def gbanstat(bot: Bot, update: Update, args: List[str]): if len(args) > 0: if args[0].lower() in ["on", "yes"]: sql.enable_gbans(update.effective_chat.id) update.effective_message.reply_text("I've enabled gbans in this group. This will help protect you " "from spammers, unsavoury characters, and the biggest trolls.") elif args[0].lower() in ["off", "no"]: sql.disable_gbans(update.effective_chat.id) update.effective_message.reply_text("I've disabled gbans in this group. GBans wont affect your users " "anymore. You'll be less protected from any trolls and spammers " "though!") else: update.effective_message.reply_text("Give me some arguments to choose a setting! on/off, yes/no!\n\n" "Your current setting is: {}\n" "When True, any gbans that happen will also happen in your group. " "When False, they won't, leaving you at the possible mercy of " "spammers.".format(sql.does_chat_gban(update.effective_chat.id)))
Example #4
Source File: warns.py From Marie-2.0-English with GNU General Public License v3.0 | 6 votes |
def button(bot: Bot, update: Update) -> str: query = update.callback_query # type: Optional[CallbackQuery] user = update.effective_user # type: Optional[User] match = re.match(r"rm_warn\((.+?)\)", query.data) if match: user_id = match.group(1) chat = update.effective_chat # type: Optional[Chat] res = sql.remove_warn(user_id, chat.id) if res: update.effective_message.edit_text( "Warn removed by {}.".format(mention_html(user.id, user.first_name)), parse_mode=ParseMode.HTML) user_member = chat.get_member(user_id) return "<b>{}:</b>" \ "\n#UNWARN" \ "\n<b>Admin:</b> {}" \ "\n<b>User:</b> {}".format(html.escape(chat.title), mention_html(user.id, user.first_name), mention_html(user_member.user.id, user_member.user.first_name)) else: update.effective_message.edit_text( "User has already has no warns.".format(mention_html(user.id, user.first_name)), parse_mode=ParseMode.HTML) return ""
Example #5
Source File: global_mutes.py From Marie-2.0-English with GNU General Public License v3.0 | 6 votes |
def gmutestat(bot: Bot, update: Update, args: List[str]): if len(args) > 0: if args[0].lower() in ["on", "yes"]: sql.enable_gmutes(update.effective_chat.id) update.effective_message.reply_text("I've enabled gmutes in this group. This will help protect you " "from spammers, unsavoury characters, and Anirudh.") elif args[0].lower() in ["off", "no"]: sql.disable_gmutes(update.effective_chat.id) update.effective_message.reply_text("I've disabled gmutes in this group. GMutes wont affect your users " "anymore. You'll be less protected from Anirudh though!") else: update.effective_message.reply_text("Give me some arguments to choose a setting! on/off, yes/no!\n\n" "Your current setting is: {}\n" "When True, any gmutes that happen will also happen in your group. " "When False, they won't, leaving you at the possible mercy of " "spammers.".format(sql.does_chat_gmute(update.effective_chat.id)))
Example #6
Source File: global_bans.py From Marie-2.0-English with GNU General Public License v3.0 | 6 votes |
def gbanstat(bot: Bot, update: Update, args: List[str]): if len(args) > 0: if args[0].lower() in ["on", "yes"]: sql.enable_gbans(update.effective_chat.id) update.effective_message.reply_text("I've enabled gbans in this group. This will help protect you " "from spammers, unsavoury characters, and the biggest trolls.") elif args[0].lower() in ["off", "no"]: sql.disable_gbans(update.effective_chat.id) update.effective_message.reply_text("I've disabled gbans in this group. GBans wont affect your users " "anymore. You'll be less protected from any trolls and spammers " "though!") else: update.effective_message.reply_text("Give me some arguments to choose a setting! on/off, yes/no!\n\n" "Your current setting is: {}\n" "When True, any gbans that happen will also happen in your group. " "When False, they won't, leaving you at the possible mercy of " "spammers.".format(sql.does_chat_gban(update.effective_chat.id)))
Example #7
Source File: towel_mode.py From vldc-bot with MIT License | 6 votes |
def add_towel_mode(upd: Updater, handlers_group: int): logger.info("registering towel-mode handlers") dp = upd.dispatcher # catch all new users and drop the towel dp.add_handler(MessageHandler(Filters.status_update.new_chat_members, catch_new_user), handlers_group) # check for reply or remove messages dp.add_handler(MessageHandler( Filters.group & ~Filters.status_update, catch_reply), handlers_group ) # "i am a bot button" dp.add_handler(CallbackQueryHandler(i_am_a_bot_btn), handlers_group) # ban quarantine users, if time is gone upd.job_queue.run_repeating(ban_user, interval=60, first=60, context={ "chat_id": get_config()["GROUP_CHAT_ID"] })
Example #8
Source File: telegram.py From platypush with MIT License | 6 votes |
def _command_hook(self): # noinspection PyUnusedLocal def hook(update, context): msg = update.effective_message m = re.match('\s*/([0-9a-zA-Z_-]+)\s*(.*)', msg.text) cmd = m.group(1).lower() args = [arg for arg in re.split('\s+', m.group(2)) if len(arg)] try: self._authorize(msg) self.bus.post(CommandMessageEvent(chat_id=update.effective_chat.id, command=cmd, cmdargs=args, message=self._plugin.parse_msg(msg).output, user=self._plugin.parse_user(update.effective_user).output)) except PermissionError: pass return hook
Example #9
Source File: welcome.py From EmiliaHikari with GNU General Public License v3.0 | 6 votes |
def cleanservice(update, context): args = context.args chat = update.effective_chat # type: Optional[Chat] if chat.type != chat.PRIVATE: if len(args) >= 1: var = args[0].lower() if (var == "no" or var == "off" or var == "tidak"): sql.set_clean_service(chat.id, False) send_message(update.effective_message, tl(update.effective_message, "Saya meninggalkan pesan layanan")) elif(var == "yes" or var == "ya" or var == "on"): sql.set_clean_service(chat.id, True) send_message(update.effective_message, tl(update.effective_message, "Saya akan membersihkan pesan layanan")) else: send_message(update.effective_message, tl(update.effective_message, "Silakan masukkan yes/ya atau no/tidak!"), parse_mode=ParseMode.MARKDOWN) else: send_message(update.effective_message, tl(update.effective_message, "Silakan masukkan yes/ya atau no/tidak!"), parse_mode=ParseMode.MARKDOWN) else: curr = sql.clean_service(chat.id) if curr: send_message(update.effective_message, tl(update.effective_message, "Saat ini saya akan membersihkan `x joined the group` ketika ada member baru."), parse_mode=ParseMode.MARKDOWN) else: send_message(update.effective_message, tl(update.effective_message, "Saat ini saya tidak akan membersihkan `x joined the group` ketika ada member baru."), parse_mode=ParseMode.MARKDOWN)
Example #10
Source File: frontend.py From OmNomNom with GNU Affero General Public License v3.0 | 6 votes |
def log_incoming_messages(_, update): """Log incoming messages to a log file and influxdb.""" frontend_logger.debug('incoming messages: %s' % update) chat = update.message.chat target_chat = '' if chat.type == 'group': target_chat = chat.title elif chat.type == 'private': if chat.first_name: target_chat += chat.first_name if chat.last_name: target_chat += ' %s' % chat.last_name if chat.username: target_chat += ' (%s)' % chat.username message_logger.info('In: %s: %s' % (target_chat, update.message.text)) fields = {'message': update.message.text} tags = {'chat': target_chat} log_to_influxdb.delay('messages', fields, tags)
Example #11
Source File: rules.py From SkittBot with GNU General Public License v3.0 | 5 votes |
def set_rules(bot: Bot, update: Update): chat_id = update.effective_chat.id msg = update.effective_message # type: Optional[Message] raw_text = msg.text args = raw_text.split(None, 1) # use python's maxsplit to separate cmd and args if len(args) == 2: txt = args[1] offset = len(txt) - len(raw_text) # set correct offset relative to command markdown_rules = markdown_parser(txt, entities=msg.parse_entities(), offset=offset) sql.set_rules(chat_id, markdown_rules) update.effective_message.reply_text("Successfully set rules for this group.")
Example #12
Source File: antiflood.py From tgbot with GNU General Public License v3.0 | 5 votes |
def check_flood(bot: Bot, update: Update) -> str: user = update.effective_user # type: Optional[User] chat = update.effective_chat # type: Optional[Chat] msg = update.effective_message # type: Optional[Message] if not user: # ignore channels return "" # ignore admins if is_user_admin(chat, user.id): sql.update_flood(chat.id, None) return "" should_ban = sql.update_flood(chat.id, user.id) if not should_ban: return "" try: chat.kick_member(user.id) msg.reply_text("I like to leave the flooding to natural disasters. But you, you were just a " "disappointment. Get out.") return "<b>{}:</b>" \ "\n#BANNED" \ "\n<b>User:</b> {}" \ "\nFlooded the group.".format(html.escape(chat.title), mention_html(user.id, user.first_name)) except BadRequest: msg.reply_text("I can't kick people here, give me permissions first! Until then, I'll disable antiflood.") sql.set_flood(chat.id, 0) return "<b>{}:</b>" \ "\n#INFO" \ "\nDon't have kick permissions, so automatically disabled antiflood.".format(chat.title)
Example #13
Source File: warns.py From tgbot with GNU General Public License v3.0 | 5 votes |
def button(bot: Bot, update: Update) -> str: query = update.callback_query # type: Optional[CallbackQuery] user = update.effective_user # type: Optional[User] match = re.match(r"rm_warn\((.+?)\)", query.data) if match: user_id = match.group(1) chat = update.effective_chat # type: Optional[Chat] res = sql.remove_warn(user_id, chat.id) if res: update.effective_message.edit_text( "Warn removed by {}.".format(mention_html(user.id, user.first_name)), parse_mode=ParseMode.HTML) user_member = chat.get_member(user_id) return "<b>{}:</b>" \ "\n#UNWARN" \ "\n<b>Admin:</b> {}" \ "\n<b>User:</b> {} (<code>{}</code>)".format(html.escape(chat.title), mention_html(user.id, user.first_name), mention_html(user_member.user.id, user_member.user.first_name), user_member.user.id) else: update.effective_message.edit_text( "User has already has no warns.".format(mention_html(user.id, user.first_name)), parse_mode=ParseMode.HTML) return ""
Example #14
Source File: rules.py From tgbot with GNU General Public License v3.0 | 5 votes |
def set_rules(bot: Bot, update: Update): chat_id = update.effective_chat.id msg = update.effective_message # type: Optional[Message] raw_text = msg.text args = raw_text.split(None, 1) # use python's maxsplit to separate cmd and args if len(args) == 2: txt = args[1] offset = len(txt) - len(raw_text) # set correct offset relative to command markdown_rules = markdown_parser(txt, entities=msg.parse_entities(), offset=offset) sql.set_rules(chat_id, markdown_rules) update.effective_message.reply_text("Successfully set rules for this group.")
Example #15
Source File: rules.py From tgbot with GNU General Public License v3.0 | 5 votes |
def send_rules(update, chat_id, from_pm=False): bot = dispatcher.bot user = update.effective_user # type: Optional[User] try: chat = bot.get_chat(chat_id) except BadRequest as excp: if excp.message == "Chat not found" and from_pm: bot.send_message(user.id, "The rules shortcut for this chat hasn't been set properly! Ask admins to " "fix this.") return else: raise rules = sql.get_rules(chat_id) text = "The rules for *{}* are:\n\n{}".format(escape_markdown(chat.title), rules) if from_pm and rules: bot.send_message(user.id, text, parse_mode=ParseMode.MARKDOWN) elif from_pm: bot.send_message(user.id, "The group admins haven't set any rules for this chat yet. " "This probably doesn't mean it's lawless though...!") elif rules: update.effective_message.reply_text("Contact me in PM to get this group's rules.", reply_markup=InlineKeyboardMarkup( [[InlineKeyboardButton(text="Rules", url="t.me/{}?start={}".format(bot.username, chat_id))]])) else: update.effective_message.reply_text("The group admins haven't set any rules for this chat yet. " "This probably doesn't mean it's lawless though...!")
Example #16
Source File: users.py From SkittBot with GNU General Public License v3.0 | 5 votes |
def broadcast(bot: Bot, update: Update): to_send = update.effective_message.text.split(None, 1) if len(to_send) >= 2: chats = sql.get_all_chats() or [] failed = 0 for chat in chats: try: bot.sendMessage(int(chat.chat_id), to_send[1]) sleep(0.1) except TelegramError: failed += 1 LOGGER.warning("Couldn't send broadcast to %s, group name %s", str(chat.chat_id), str(chat.chat_name)) update.effective_message.reply_text("Broadcast complete. {} groups failed to receive the message, probably " "due to being kicked.".format(failed))
Example #17
Source File: users.py From tgbot with GNU General Public License v3.0 | 5 votes |
def broadcast(bot: Bot, update: Update): to_send = update.effective_message.text.split(None, 1) if len(to_send) >= 2: chats = sql.get_all_chats() or [] failed = 0 for chat in chats: try: bot.sendMessage(int(chat.chat_id), to_send[1]) sleep(0.1) except TelegramError: failed += 1 LOGGER.warning("Couldn't send broadcast to %s, group name %s", str(chat.chat_id), str(chat.chat_name)) update.effective_message.reply_text("Broadcast complete. {} groups failed to receive the message, probably " "due to being kicked.".format(failed))
Example #18
Source File: antiflood.py From Marie-2.0-English with GNU General Public License v3.0 | 5 votes |
def check_flood(bot: Bot, update: Update) -> str: user = update.effective_user # type: Optional[User] chat = update.effective_chat # type: Optional[Chat] msg = update.effective_message # type: Optional[Message] if not user: # ignore channels return "" # ignore admins if is_user_admin(chat, user.id): sql.update_flood(chat.id, None) return "" should_ban = sql.update_flood(chat.id, user.id) if not should_ban: return "" try: chat.kick_member(user.id) msg.reply_text("dont disturb others you are No need for this group anymore...") return "<b>{}:</b>" \ "\n#BANNED" \ "\n<b>User:</b> {}" \ "\nFlooded the group.".format(html.escape(chat.title), mention_html(user.id, user.first_name)) except BadRequest: msg.reply_text("You cannot use this service as long as you do not give me Permissions.") sql.set_flood(chat.id, 0) return "<b>{}:</b>" \ "\n#INFO" \ "\nDon't have kick permissions, so automatically disabled antiflood.".format(chat.title)
Example #19
Source File: bans.py From SkittBot with GNU General Public License v3.0 | 5 votes |
def unban(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message # type: Optional[Message] user = update.effective_user # type: Optional[User] chat = update.effective_chat # type: Optional[Chat] user_id, reason = extract_user_and_text(message, args) if not user_id: return "" try: member = chat.get_member(user_id) except BadRequest as excp: if excp.message == "User not found": message.reply_text("This user is ded mate.") return "" else: raise if user_id == bot.id: message.reply_text("What exactly are you attempting to do?") return "" if is_user_in_chat(chat, user_id): message.reply_text("Boi! this user is already in the group!") return "" chat.unban_member(user_id) message.reply_text("Fine, I'll allow it, this time...") log = "<b>{}:</b>" \ "\n#UNBANNED" \ "\n<b>Admin:</b> {}" \ "\n<b>User:</b> {} (<code>{}</code>)".format(html.escape(chat.title), mention_html(user.id, user.first_name), mention_html(member.user.id, member.user.first_name), member.user.id) if reason: log += "\n<b>Reason:</b> {}".format(reason) return log
Example #20
Source File: rules.py From SkittBot with GNU General Public License v3.0 | 5 votes |
def send_rules(update, chat_id, from_pm=False): bot = dispatcher.bot user = update.effective_user # type: Optional[User] try: chat = bot.get_chat(chat_id) except BadRequest as excp: if excp.message == "Chat not found" and from_pm: bot.send_message(user.id, "The rules shortcut for this chat hasn't been set properly! Ask admins to " "fix this.") return else: raise rules = sql.get_rules(chat_id) text = "The rules for *{}* are:\n\n{}".format(escape_markdown(chat.title), rules) if from_pm and rules: bot.send_message(user.id, text, parse_mode=ParseMode.MARKDOWN) elif from_pm: bot.send_message(user.id, "The group admins haven't set any rules for this chat yet. " "This probably doesn't mean it's lawless though...!") elif rules: update.effective_message.reply_text("Contact me in PM to get this group's rules.", reply_markup=InlineKeyboardMarkup( [[InlineKeyboardButton(text="Rules", url="t.me/{}?start={}".format(bot.username, chat_id))]])) else: update.effective_message.reply_text("The group admins haven't set any rules for this chat yet. " "This probably doesn't mean it's lawless though...!")
Example #21
Source File: rules.py From Marie-2.0-English with GNU General Public License v3.0 | 5 votes |
def set_rules(bot: Bot, update: Update): chat_id = update.effective_chat.id msg = update.effective_message # type: Optional[Message] raw_text = msg.text args = raw_text.split(None, 1) # use python's maxsplit to separate cmd and args if len(args) == 2: txt = args[1] offset = len(txt) - len(raw_text) # set correct offset relative to command markdown_rules = markdown_parser(txt, entities=msg.parse_entities(), offset=offset) sql.set_rules(chat_id, markdown_rules) update.effective_message.reply_text("Successfully set rules for this group.")
Example #22
Source File: rules.py From Marie-2.0-English with GNU General Public License v3.0 | 5 votes |
def send_rules(update, chat_id, from_pm=False): bot = dispatcher.bot user = update.effective_user # type: Optional[User] try: chat = bot.get_chat(chat_id) except BadRequest as excp: if excp.message == "Chat not found" and from_pm: bot.send_message(user.id, "The rules shortcut for this chat hasn't been set properly! Ask admins to " "fix this.") return else: raise rules = sql.get_rules(chat_id) text = "The rules for *{}* are:\n\n{}".format(escape_markdown(chat.title), rules) if from_pm and rules: bot.send_message(user.id, text, parse_mode=ParseMode.MARKDOWN) elif from_pm: bot.send_message(user.id, "The group admins haven't set any rules for this chat yet. " "This probably doesn't mean it's lawless though...!") elif rules: update.effective_message.reply_text("Contact me in PM to get this group's rules.", reply_markup=InlineKeyboardMarkup( [[InlineKeyboardButton(text="Rules", url="t.me/{}?start={}".format(bot.username, chat_id))]])) else: update.effective_message.reply_text("The group admins haven't set any rules for this chat yet. " "This probably doesn't mean it's lawless though...!")
Example #23
Source File: users.py From Marie-2.0-English with GNU General Public License v3.0 | 5 votes |
def broadcast(bot: Bot, update: Update): to_send = update.effective_message.text.split(None, 1) if len(to_send) >= 2: chats = sql.get_all_chats() or [] failed = 0 for chat in chats: try: bot.sendMessage(int(chat.chat_id), to_send[1]) sleep(0.1) except TelegramError: failed += 1 LOGGER.warning("Couldn't send broadcast to %s, group name %s", str(chat.chat_id), str(chat.chat_name)) update.effective_message.reply_text("Broadcast complete. {} groups failed to receive the message, probably " "due to being kicked.".format(failed))
Example #24
Source File: welcome.py From SkittBot with GNU General Public License v3.0 | 5 votes |
def welcome_help(bot: Bot, update: Update): update.effective_message.reply_text(WELC_HELP_TXT, parse_mode=ParseMode.MARKDOWN) # TODO: get welcome data from group butler snap # def __import_data__(chat_id, data): # welcome = data.get('info', {}).get('rules') # welcome = welcome.replace('$username', '{username}') # welcome = welcome.replace('$name', '{fullname}') # welcome = welcome.replace('$id', '{id}') # welcome = welcome.replace('$title', '{chatname}') # welcome = welcome.replace('$surname', '{lastname}') # welcome = welcome.replace('$rules', '{rules}') # sql.set_custom_welcome(chat_id, welcome, sql.Types.TEXT)
Example #25
Source File: fools.py From vldc-bot with MIT License | 5 votes |
def add_fools_mode(upd: Updater, handlers_group: int): logger.info("registering fools handlers") dp = upd.dispatcher dp.add_handler(MessageHandler(Filters.group & ~ Filters.status_update, mesaĝa_traduko), handlers_group)
Example #26
Source File: warns.py From SkittBot with GNU General Public License v3.0 | 5 votes |
def button(bot: Bot, update: Update) -> str: query = update.callback_query # type: Optional[CallbackQuery] user = update.effective_user # type: Optional[User] match = re.match(r"rm_warn\((.+?)\)", query.data) if match: user_id = match.group(1) chat = update.effective_chat # type: Optional[Chat] res = sql.remove_warn(user_id, chat.id) if res: update.effective_message.edit_text( "Warn removed by {}.".format(mention_html(user.id, user.first_name)), parse_mode=ParseMode.HTML) user_member = chat.get_member(user_id) return "<b>{}:</b>" \ "\n#UNWARN" \ "\n<b>Admin:</b> {}" \ "\n<b>User:</b> {} (<code>{}</code>)".format(html.escape(chat.title), mention_html(user.id, user.first_name), mention_html(user_member.user.id, user_member.user.first_name), user_member.user.id) else: update.effective_message.edit_text( "User has already has no warns.".format(mention_html(user.id, user.first_name)), parse_mode=ParseMode.HTML) return ""
Example #27
Source File: antiflood.py From SkittBot with GNU General Public License v3.0 | 5 votes |
def check_flood(bot: Bot, update: Update) -> str: user = update.effective_user # type: Optional[User] chat = update.effective_chat # type: Optional[Chat] msg = update.effective_message # type: Optional[Message] if not user: # ignore channels return "" # ignore admins if is_user_admin(chat, user.id): sql.update_flood(chat.id, None) return "" should_ban = sql.update_flood(chat.id, user.id) if not should_ban: return "" try: chat.kick_member(user.id) msg.reply_text("I like to leave the flooding to natural disasters. But you, you were just a " "disappointment. Get out.") return "<b>{}:</b>" \ "\n#BANNED" \ "\n<b>User:</b> {}" \ "\nFlooded the group.".format(html.escape(chat.title), mention_html(user.id, user.first_name)) except BadRequest: msg.reply_text("I can't kick people here, give me permissions first! Until then, I'll disable antiflood.") sql.set_flood(chat.id, 0) return "<b>{}:</b>" \ "\n#INFO" \ "\nDon't have kick permissions, so automatically disabled antiflood.".format(chat.title)
Example #28
Source File: warns.py From EmiliaHikari with GNU General Public License v3.0 | 5 votes |
def button(update, context): query = update.callback_query # type: Optional[CallbackQuery] user = update.effective_user # type: Optional[User] match = re.match(r"rm_warn\((.+?)\)", query.data) if match: user_id = match.group(1) chat = update.effective_chat # type: Optional[Chat] res = sql.remove_warn(user_id, chat.id) if res: update.effective_message.edit_text( tl(update.effective_message, "Peringatkan dihapus oleh {}.").format(mention_html(user.id, user.first_name)), parse_mode=ParseMode.HTML) user_member = chat.get_member(user_id) return "<b>{}:</b>" \ "\n#UNWARN" \ "\n<b>Admin:</b> {}" \ "\n<b>User:</b> {} (<code>{}</code>)".format(html.escape(chat.title), mention_html(user.id, user.first_name), mention_html(user_member.user.id, user_member.user.first_name), user_member.user.id) else: update.effective_message.edit_text( tl(update.effective_message, "Pengguna sudah tidak memiliki peringatan.").format(mention_html(user.id, user.first_name)), parse_mode=ParseMode.HTML) return ""
Example #29
Source File: welcome.py From EmiliaHikari with GNU General Public License v3.0 | 5 votes |
def welcome_help(update, context): send_message(update.effective_message, tl(update.effective_message, "WELC_HELP_TXT").format(dispatcher.bot.username), parse_mode=ParseMode.MARKDOWN) # TODO: get welcome data from group butler snap # def __import_data__(chat_id, data): # welcome = data.get('info', {}).get('rules') # welcome = welcome.replace('$username', '{username}') # welcome = welcome.replace('$name', '{fullname}') # welcome = welcome.replace('$id', '{id}') # welcome = welcome.replace('$title', '{chatname}') # welcome = welcome.replace('$surname', '{lastname}') # welcome = welcome.replace('$rules', '{rules}') # sql.set_custom_welcome(chat_id, welcome, sql.Types.TEXT)
Example #30
Source File: special.py From SkittBot with GNU General Public License v3.0 | 5 votes |
def snipe(bot: Bot, update: Update, args: List[str]): try: chat_id = str(args[0]) del args[0] except TypeError as excp: update.effective_message.reply_text("Please give me a chat to echo to!") to_send = " ".join(args) if len(to_send) >= 2: try: bot.sendMessage(int(chat_id), str(to_send)) except TelegramError: LOGGER.warning("Couldn't send to group %s", str(chat_id)) update.effective_message.reply_text("Couldn't send the message. Perhaps I'm not part of that group?")