def set_sticker(update, context): msg = update.effective_message chat = update.effective_chat user = update.effective_user if user_can_changeinfo(chat, user, context.bot.id) is False: return msg.reply_text("You're missing rights to change chat info!") if msg.reply_to_message: if not msg.reply_to_message.sticker: return msg.reply_text( "You need to reply to some sticker to set chat sticker set!") stkr = msg.reply_to_message.sticker.set_name try: context.bot.set_chat_sticker_set(chat.id, stkr) msg.reply_text( f"Successfully set new group stickers in {chat.title}!") except BadRequest as excp: if excp.message == "Participants_too_few": return msg.reply_text( "Sorry, due to telegram restrictions chat needs to have minimum 100 members before they can have group stickers!" ) msg.reply_text(f"Error! {excp.message}.") else: msg.reply_text( "You need to reply to some sticker to set chat sticker set!")
def setchatpic(update, context): chat = update.effective_chat msg = update.effective_message user = update.effective_user if user_can_changeinfo(chat, user, context.bot.id) is False: msg.reply_text("You are missing right to change group info!") return if msg.reply_to_message: if msg.reply_to_message.photo: pic_id = msg.reply_to_message.photo[-1].file_id elif msg.reply_to_message.document: pic_id = msg.reply_to_message.document.file_id else: msg.reply_text("You can only set some photo as chat pic!") return dlmsg = msg.reply_text("Just a sec...") tpic = context.bot.get_file(pic_id) tpic.download("gpic.png") try: with open("gpic.png", "rb") as chatp: context.bot.set_chat_photo(int(chat.id), photo=chatp) msg.reply_text("Successfully set new chatpic!") except BadRequest as excp: msg.reply_text(f"Error! {excp.message}") finally: dlmsg.delete() if os.path.isfile("gpic.png"): os.remove("gpic.png") else: msg.reply_text("Reply to some photo or file to set new chat pic!")
def clear(update, context): args = context.args chat = update.effective_chat # type: Optional[Chat] user = update.effective_user # type: Optional[User] msg = update.effective_message conn = connected(context.bot, update, chat, user.id) note_name, text, data_type, content, buttons = get_note_type(msg) if user_can_changeinfo(chat, user, context.bot.id) is False: msg.reply_text("You don't have enough rights to Remove Notes !") return "" if not conn == False: chat_id = conn chat_name = dispatcher.bot.getChat(conn).title else: chat_id = update.effective_chat.id if chat.type == "private": chat_name = "local notes" else: chat_name = chat.title if len(args) >= 1: notename = args[0].lower() if sql.rm_note(chat_id, notename): update.effective_message.reply_text( "Successfully deleted '`{note_name}`' from {chat_name}!". format(note_name=note_name, chat_name=chat_name), parse_mode=ParseMode.MARKDOWN, ) else: update.effective_message.reply_text( "There is no such notes saved in {chat_name}!".format( chat_name=chat_name))
def invite(update, context): user = update.effective_user msg = update.effective_message chat = update.effective_chat context.args if user_can_changeinfo(chat, user, context.bot.id) is False: msg.reply_text("You are missing right to Get Invite Link! SeD") return conn = connected(context.bot, update, chat, user.id, need_admin=True) if conn: chat = dispatcher.bot.getChat(conn) else: if msg.chat.type == "private": msg.reply_text("This command is meant to use in chat not in PM") return "" chat = update.effective_chat if chat.username: msg.reply_text(chat.username) elif chat.type == chat.SUPERGROUP or chat.type == chat.CHANNEL: bot_member = chat.get_member(context.bot.id) if bot_member.can_invite_users: invitelink = context.bot.exportChatInviteLink(chat.id) msg.reply_text(invitelink) else: msg.reply_text( "I don't have access to the invite link, try changing my permissions!" ) else: msg.reply_text( "I can only give you invite links for supergroups and channels, sorry!" )
def rmchatpic(update, context): chat = update.effective_chat msg = update.effective_message user = update.effective_user if user_can_changeinfo(chat, user, context.bot.id) is False: msg.reply_text("You don't have enough rights to delete group photo") return try: context.bot.delete_chat_photo(int(chat.id)) msg.reply_text("Successfully deleted chat's profile photo!") except BadRequest as excp: msg.reply_text(f"Error! {excp.message}.") return
def save(update, context): chat = update.effective_chat # type: Optional[Chat] user = update.effective_user # type: Optional[User] conn = connected(context.bot, update, chat, user.id) if not conn == False: chat_id = conn chat_name = dispatcher.bot.getChat(conn).title else: chat_id = update.effective_chat.id if chat.type == "private": chat_name = "local notes" else: chat_name = chat.title msg = update.effective_message note_name, text, data_type, content, buttons = get_note_type(msg) note_name = note_name.lower() if user_can_changeinfo(chat, user, context.bot.id) is False: msg.reply_text("You don't have enough rights to Add Notes !") return "" if data_type is None: msg.reply_text("Bruh! there's no note") return if len(text.strip()) == 0: text = note_name sql.add_note_to_db(chat_id, note_name, text, data_type, buttons=buttons, file=content) msg.reply_text( "Saved '`{note_name}`' in *{chat_name}*.\nGet it with `/get {note_name}`, or `#{note_name}`!" .format(note_name=note_name, chat_name=chat_name), parse_mode=ParseMode.MARKDOWN, )
def set_desc(update, context): msg = update.effective_message chat = update.effective_chat user = update.effective_user if user_can_changeinfo(chat, user, context.bot.id) is False: return msg.reply_text("You're missing rights to change chat info!") tesc = msg.text.split(None, 1) if len(tesc) >= 2: desc = tesc[1] else: return msg.reply_text("Setting empty description won't do anything!") try: if len(desc) > 255: return msg.reply_text("Description must needs to be under 255 characters!") context.bot.set_chat_description(chat.id, desc) msg.reply_text(f"Successfully updated chat description in {chat.title}!") except BadRequest as excp: msg.reply_text(f"Error! {excp.message}.")
def setchat_title(update, context): chat = update.effective_chat msg = update.effective_message user = update.effective_user args = context.args if user_can_changeinfo(chat, user, context.bot.id) is False: msg.reply_text("You don't have enough rights to change chat info!") return title = " ".join(args) if not title: msg.reply_text("Enter some text to set new title in your chat!") return try: context.bot.set_chat_title(int(chat.id), str(title)) msg.reply_text(f"Successfully set <b>{title}</b> as new chat title!", parse_mode=ParseMode.HTML) except BadRequest as excp: msg.reply_text(f"Error! {excp.message}.") return