def run(message, matches, chat_id, step): if matches[0] == 'setexpire': if is_sudo(message): exp = time.time() + int(matches[1]) * 86400 r.setex('expire:{}'.format(chat_id), int(exp), 'hemmhm') bot.sendMessage(chat_id, 'تاریخ انقضای گروه برای {} روز دیگر تنظیم شد☘️'.format(matches[1])) elif matches == 'expire': if is_mod(message): ex = int(r.ttl('expire:{}'.format(chat_id))) - time.time() days = int(ex / 86400) bot.sendMessage(chat_id, '📋 روز های باقیمانده از اعتبار گروه : {}'.format(days))
def run(message, matches, convo_id, chat_data, user_data): msg_type, convo_id, user_id = glance(message) if matches[0] == 'status' and len(matches) == 2: if not bot.is_sudo(user_id): return bot.send_message(convo_id, 'You\'re not authorized') bot.set_status(matches[1]) return bot.send_message(convo_id, 'Status updated') if matches[0] == 'changepic': if not bot.is_sudo(user_id): return bot.send_message(convo_id, 'You\'re not authorized') set_bot_state('waiting_picture') return bot.send_message(convo_id, 'Please send a photo...') if msg_type == 'image': global bot_state if bot_state == 'waiting_picture': if not bot.is_sudo(user_id): return path = message.file_path bot.set_profile_pricture(path) bot_state = '' return bot.send_message(convo_id, 'Photo has been changed :)')
def run(message, matches, chat_id, step): if matches == 'setowner': if 'reply_to_message' in message: if is_sudo(message): r.hset('owner', chat_id, message['reply_to_message']['from']['id']) r.hset('owner:{}'.format(chat_id), message['reply_to_message']['from']['id'], True) text = str(ln['ingroup']['setowner']).format( message['reply_to_message']['from']['first_name'], message['reply_to_message']['from']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches == 'admin': if 'reply_to_message' in message: if is_owner(message): r.sadd('mod:{}'.format(chat_id), message['reply_to_message']['from']['id']) text = str(ln['ingroup']['setowner']).format( message['reply_to_message']['from']['first_name'], message['reply_to_message']['from']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches == 'user': if 'reply_to_message' in message: if is_owner(message): r.srem('mod:{}'.format(chat_id), message['reply_to_message']['from']['id']) text = str(ln['ingroup']['user']).format( message['reply_to_message']['from']['first_name'], message['reply_to_message']['from']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches[0] == 'title' and matches[1]: if is_mod(message): try: set = bot.setChatTitle(chat_id, matches[1]) bot.sendMessage(chat_id, ln['ingroup']['title'], reply_to_message_id=message['message_id']) except: pass if matches == 'pin': if is_mod(message): if 'reply_to_message' in message: bot.pinChatMessage(chat_id, message['reply_to_message']['message_id']) bot.sendMessage(chat_id, ln['ingroup']['pin'], reply_to_message_id=message['reply_to_message'] ['message_id']) if matches == 'unpin': if is_mod(message): bot.unpinChatMessage(chat_id) bot.sendMessage(chat_id, ln['ingroup']['unpin']) if matches == 'ban': if is_mod(message): if 'reply_to_message' in message: user = message['reply_to_message'] if not is_mod(user): bot.kickChatMember(chat_id, user['from']['id']) bot.sendMessage(chat_id, str(ln['ingroup']['ban']).format( user['from']['first_name'], user['from']['id']), parse_mode='Markdown') else: bot.sendMessage(chat_id, ln['ingroup']['banError']) if matches[0] == 'ban': if is_mod(message): user = str(matches[1]) bot.kickChatMember(chat_id, user) bot.sendMessage(chat_id, str(ln['ingroup']['ban_id']).format(user)) if matches == 'avatar': if is_mod(message): try: bot.download_file( message['reply_to_message']['photo'][1]['file_id'], '{}.jpg'.format(chat_id)) bot.setChatPhoto(chat_id, open('{}.jpg'.format(chat_id), 'rb')) os.remove('{}.jpg'.format(chat_id)) except Exception as e: bot.sendMessage(chat_id, '#Error:\n{}'.format(e), reply_to_message_id=message['reply_to_message'] ['message_id']) if matches == 'admins': if is_mod(message): owner = r.hget('owner', chat_id) if owner: oner = '[{}](tg://user?id={})'.format(owner, owner) else: oner = ln['ingroup']['admins']['0'] mods = r.smembers('mod:{}'.format(chat_id)) if mods: mod = '👥' sc = r.scard('mod:{}'.format(chat_id)) scnum = int(sc) i = 1 for x in mods: if scnum == i: mod += '\n└ > [{}](tg://user?id={})'.format(x, x) else: mod += '\n├> [{}](tg://user?id={})'.format(x, x) i = i + 1 else: mod = ln['ingroup']['admins']['0'] text = str(ln['ingroup']['admins'][1]).format(oner, mod) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches[0] == 'filter': if is_mod(message): text = message['text'].replace(matches[0], '').replace('/ ', '').replace( '# ', '').replace('! ', '') lines = re.findall('[^\n]+', text) fil = '' for x in lines: r.sadd('filter:{}'.format(chat_id), x) fil += '\n>{}'.format(x) bot.sendMessage(chat_id, str(ln['ingroup']['filter']).format(fil)) if matches[0] == 'unfilter': if is_mod(message): text = message['text'].replace(matches[0], '').replace('/ ', '').replace( '# ', '').replace('! ', '') lines = re.findall('[^\n]+', text) fil = '' for x in lines: r.srem('filter:{}'.format(chat_id), x) fil += '\n>{}'.format(x) bot.sendMessage(chat_id, str(ln['ingroup']['unfilter']).format(fil)) if matches == 'filters': if is_mod(message): filters = r.smembers('filter:{}'.format(chat_id)) text = '' for x in filters: text += '\n>{}'.format(x) bot.sendMessage(chat_id, str(ln['ingroup']['filters']).format(text)) if matches[0] == 'mute': if is_mod(message): if 'reply_to_message' in message: user = message['reply_to_message'] if not is_mod(user): name = message['reply_to_message']['from']['first_name'] bot.restrictChatMember(chat_id, user['from']['id'], until_date=time.time() + int(matches[1]) * 86400, can_send_messages=False, can_send_media_messages=False, can_send_other_messages=False, can_add_web_page_previews=False) bot.sendMessage(chat_id, str(ln['ingroup']['mute']).format( name, user['from']['id'], matches[1]), parse_mode='Markdown') else: bot.sendMessage(chat_id, ln['ingroup']['muteError']) if matches == 'unmute': if is_mod(message): if 'reply_to_message' in message: user = message['reply_to_message'] bot.restrictChatMember(chat_id, user['from']['id'], can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True) bot.sendMessage(chat_id, ln['ingroup']['unmute']) if matches[0] == 'unmute': if is_mod(message): if 'reply_to_message' in message: bot.restrictChatMember(chat_id, matches[1], can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True) bot.sendMessage(chat_id, ln['ingroup']['unmute']) if matches[0] == 'mute' and matches[1] == 'all': if is_mod(message): if r.hget('lock_all', chat_id): bot.sendMessage(chat_id, ln['ingroup']['muteAll']['0']) else: r.hset('lock_all', chat_id, True) bot.sendMessage(chat_id, ln['ingroup']['muteAll']['1']) if matches[0] == 'unmute' and matches[1] == 'all': if is_mod(message): if r.hget('lock_all', chat_id): r.hdel('lock_all', chat_id) bot.sendMessage(chat_id, ln['ingroup']['unmuteAll']['0']) else: bot.sendMessage(chat_id, ln['ingroup']['unmuteAll']['1']) if matches == 'newlink': if is_mod(message): link = bot.exportChatInviteLink(chat_id) r.hset('group_link', chat_id, link) text = '''{} {}'''.format(message['chat']['title'], link) bot.sendMessage(chat_id, text) if matches == 'newlink': if is_mod(message): link = r.hget( 'group_link', chat_id) or 'link not Found\ncreate new link with /newlink' text = '''{} {}'''.format(message['chat']['title'], link) bot.sendMessage(chat_id, text) if matches == 'admins_set': if is_owner(message): admins = bot.getChatAdministrators(chat_id) bot.sendMessage(chat_id, ln['ingroup']['admins_set']) i = 1 for x in admins: if x['status'] == 'administrator': r.sadd('mod:{}'.format(chat_id), x['user']['id']) text = str(ln['ingroup']['setowner']).format( x['user']['first_name'], x['user']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') i = i + 1
def run(message, matches, chat_id, step): if matches == 'setowner': if 'reply_to_message' in message: if is_sudo(message): r.hset('owner', chat_id, message['reply_to_message']['from']['id']) r.hset('owner:{}'.format(chat_id), message['reply_to_message']['from']['id'], True) text= 'کاربر [{}](tg://user?id={}) ادمین اصلی ربات در گروه شد👤'.\ format(message['reply_to_message']['from']['first_name'], message['reply_to_message']['from']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches == 'ادمین': if 'reply_to_message' in message: if is_owner(message): r.sadd('mod:{}'.format(chat_id), message['reply_to_message']['from']['id']) text= 'کاربر [{}](tg://user?id={}) ادمین ربات در گروه شد👤'.\ format(message['reply_to_message']['from']['first_name'], message['reply_to_message']['from']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches == 'کاربر': if 'reply_to_message' in message: if is_owner(message): r.srem('mod:{}'.format(chat_id), message['reply_to_message']['from']['id']) text= 'کاربر [{}](tg://user?id={}) از این به بعد یک کاربر معمولی میباشد👌'.\ format(message['reply_to_message']['from']['first_name'], message['reply_to_message']['from']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches[0] == 'عنوان' and matches[1]: if is_mod(message): try: set = bot.setChatTitle(chat_id, matches[1]) bot.sendMessage(chat_id, 'نام گروه با موفقیت تغییر یافت✅', reply_to_message_id=message['message_id']) except: bot.sendMessage(chat_id, 'ربات ادمین نیست 🤔') if matches == 'پین': if is_mod(message): if 'reply_to_message' in message: bot.pinChatMessage(chat_id, message['reply_to_message']['message_id']) bot.sendMessage(chat_id, 'سنجاق شد📌', reply_to_message_id=message['reply_to_message']['message_id']) if matches == 'حذف پین': if is_mod(message): bot.unpinChatMessage(chat_id) bot.sendMessage(chat_id, 'سنجاق گروه برداشته شد📌') if matches == 'اخراج': if is_mod(message): if 'reply_to_message' in message: user = message['reply_to_message'] if not is_mod(user): bot.kickChatMember(chat_id, user['from']['id']) bot.sendMessage(chat_id, 'کاربر [{}](tg://user?id={}) از گروه اخراج شد❌'. format(user['from']['first_name'], user['from']['id']), parse_mode='Markdown') bot.sendMessage(r.hget('owner', chat_id), '''کاربر [{}](tg://user?id={}) از گروه {} اخراج شد❌ اخراج کننده : [{}](tg://user?id={}) '''.format(user['from']['first_name'], user['from']['id'], message['chat']['title'], message['from']['first_name'], message['from']['id']), parse_mode='Markdown') else: bot.sendMessage(chat_id, 'شما نمیتوانید ادمین را اخراج کنید🙄') if matches[0] == 'اخراج': if is_mod(message): user = str(matches[1]) bot.kickChatMember(chat_id, user) bot.sendMessage(chat_id, 'کاربر {} از گروه اخراج شد❌'.format(user)) bot.sendMessage(r.hget('owner', chat_id), '''کاربر [{}](tg://user?id={}) از گروه {} اخراج شد❌ اخراج کننده : [{}](tg://user?id={}) '''.format(user, user, message['chat']['title'], message['from']['id'], message['from']['id']), parse_mode='Markdown') if matches == 'آواتار': if is_mod(message): try: bot.download_file(message['reply_to_message']['photo'][1]['file_id'], '{}.jpg'.format(chat_id)) bot.setChatPhoto(chat_id, open('{}.jpg'.format(chat_id), 'rb')) os.remove('{}.jpg'.format(chat_id)) except Exception as e: bot.sendMessage(chat_id, '#Error:\n{}'.format(e), reply_to_message_id=message['reply_to_message']['message_id']) if matches == 'لیست ادمین': if is_mod(message): owner = r.hget('owner', chat_id) if owner: oner = '[{}](tg://user?id={})'.format(owner, owner) else: oner = 'وجود ندارد❌' mods = r.smembers('mod:{}'.format(chat_id)) if mods: mod = '' for x in mods: mod += '\n>[{}](tg://user?id={})'.format(x, x) else: mod = 'وجود ندارد❌' text = '''👤 ادمین اصلی : {} 👥 سایر ادمین ها : {}'''.format(oner, mod) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches[0] == 'فیلتر': if is_mod(message): text = message['text'].replace(matches[0], '').replace('/ ', '').replace('# ', '').replace('! ', '') lines = re.findall('[^\n]+', text) fil = '' for x in lines: r.sadd('filter:{}'.format(chat_id), x) fil += '\n>{}'.format(x) bot.sendMessage(chat_id, '''☠️کلمات زیر به لیست فیلتر افزوده شدند : {}'''.format(fil)) if matches[0] == 'حذف': if is_mod(message): text = message['text'].replace(matches[0], '').replace('/ ', '').replace('# ', '').replace('! ', '') lines = re.findall('[^\n]+', text) fil = '' for x in lines: r.srem('filter:{}'.format(chat_id), x) fil += '\n>{}'.format(x) bot.sendMessage(chat_id, '''☠️کلمات زیر از لیست فیلتر حذف شدند : {}'''.format(fil)) if matches == 'لیست فیلتر': if is_mod(message): filters = r.smembers('filter:{}'.format(chat_id)) text = '' for x in filters: text += '\n>{}'.format(x) bot.sendMessage(chat_id, '''🤐لیست کلمات فیلتر شده : {}'''.format(text)) if matches[0] == 'mute': if is_mod(message): if 'reply_to_message' in message: user = message['reply_to_message'] if not is_mod(user): name = message['reply_to_message']['from']['first_name'] bot.restrictChatMember(chat_id, user['from']['id'], until_date=time.time() + int(matches[1]) * 86400, can_send_messages=False, can_send_media_messages=False, can_send_other_messages=False, can_add_web_page_previews=False ) bot.sendMessage(chat_id, 'کاربر [{}](tg://user?id={})' ' به مدت {} روز نمیتواند در گروه پیامی ارسال کند😕' .format(name, user['from']['id'], matches[1]), parse_mode='Markdown') else: bot.sendMessage(chat_id, 'ادمینه 🤧') if matches == 'unmute': if is_mod(message): if 'reply_to_message' in message: user = message['reply_to_message'] bot.restrictChatMember(chat_id, user['from']['id'], can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True) bot.sendMessage(chat_id, 'آزاد شد :)') if matches[0] == 'unmute': if is_mod(message): if 'reply_to_message' in message: bot.restrictChatMember(chat_id, matches[1], can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True) bot.sendMessage(chat_id, 'آزاد شد :)') if matches[0] == 'قفل' and matches[1] == 'گروه': if is_mod(message): if r.hget('lock_all', chat_id): bot.sendMessage(chat_id, 'قفل گروه از قبل فعال بوده است✔️') else: r.hset('lock_all', chat_id, True) bot.sendMessage(chat_id, 'گروه قفل شد✔️') bot.sendDocument(chat_id, open('tmp/mute.gif', 'rb'), caption='''#گروه_تعطیل_است #چیزی_ارسال_نکنید_چون #توسط_ربات_حذف_خواهد_شد @spntaBot''') if matches[0] == 'بازکردن' and matches[1] == 'گروه': if is_mod(message): if r.hget('lock_all', chat_id): r.hdel('lock_all', chat_id) bot.sendMessage(chat_id, 'قفل گروه باز شد✅') else: bot.sendMessage(chat_id, 'گروه قفل نبوده ک 🙄') if matches == 'ربات': txt = '[{} هستم 🐣](tg://user?id={})'.format(message['from']['first_name'], message['from']['id']) bot.sendMessage(chat_id, txt, parse_mode='Markdown') if matches == 'link': link = bot.exportChatInviteLink(chat_id) text = '''{} {}'''.format(message['chat']['title'], link) bot.sendMessage(chat_id, text) if matches == 'سازنده': if is_sudo(message): admins = bot.getChatAdministrators(chat_id) for x in admins: if x['status'] == 'creator': print(x) r.hset('owner', chat_id, x['user']['id']) r.hset('owner:{}'.format(chat_id), x['user']['id'], True) text = 'کاربر [{}](tg://user?id={}) ادمین اصلی گروه است'. \ format(x['user']['first_name'], x['user']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches == 'ساعت': now = datetime.now(pytz.timezone("Asia/Tehran")).strftime("%H:%M:%S") bot.sendMessage(chat_id, now)
def run(message, matches, chat_id, step): ln = lang if r.hget('lang_gp', chat_id) == 'en': ln = ln.en else: ln = ln.fa if matches == 'setowner': if 'reply_to_message' in message: if is_sudo(message): r.hset('owner', chat_id, message['reply_to_message']['from']['id']) r.hset('owner:{}'.format(chat_id), message['reply_to_message']['from']['id'], True) text= str(ln['ingroup']['setowner']).format(message['reply_to_message']['from']['first_name'], message['reply_to_message']['from']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches == 'admin': if 'reply_to_message' in message: if is_owner(message): r.sadd('mod:{}'.format(chat_id), message['reply_to_message']['from']['id']) text= 'کاربر [{}](tg://user?id={}) ادمین ربات در گروه شد👤'.\ format(message['reply_to_message']['from']['first_name'], message['reply_to_message']['from']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches == 'user': if 'reply_to_message' in message: if is_owner(message): r.srem('mod:{}'.format(chat_id), message['reply_to_message']['from']['id']) text= 'کاربر [{}](tg://user?id={}) از این به بعد یک کاربر معمولی میباشد👌'.\ format(message['reply_to_message']['from']['first_name'], message['reply_to_message']['from']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches[0] == 'title' and matches[1]: if is_mod(message): try: set = bot.setChatTitle(chat_id, matches[1]) bot.sendMessage(chat_id, 'نام گروه با موفقیت تغییر یافت✅', reply_to_message_id=message['message_id']) except: bot.sendMessage(chat_id, 'ربات ادمین نیست 🤔') if matches == 'pin': if is_mod(message): if 'reply_to_message' in message: bot.pinChatMessage(chat_id, message['reply_to_message']['message_id']) bot.sendMessage(chat_id, 'سنجاق شد📌', reply_to_message_id=message['reply_to_message']['message_id']) if matches == 'unpin': if is_mod(message): bot.unpinChatMessage(chat_id) bot.sendMessage(chat_id, 'سنجاق گروه برداشته شد📌') if matches == 'ban': if is_mod(message): if 'reply_to_message' in message: user = message['reply_to_message'] if not is_mod(user): bot.kickChatMember(chat_id, user['from']['id']) bot.sendMessage(chat_id, 'کاربر [{}](tg://user?id={}) از گروه اخراج شد❌'. format(user['from']['first_name'], user['from']['id']), parse_mode='Markdown') bot.sendMessage(r.hget('owner', chat_id), '''کاربر [{}](tg://user?id={}) از گروه {} اخراج شد❌ اخراج کننده : [{}](tg://user?id={}) '''.format(user['from']['first_name'], user['from']['id'], message['chat']['title'], message['from']['first_name'], message['from']['id']), parse_mode='Markdown') else: bot.sendMessage(chat_id, 'شما نمیتوانید ادمین را اخراج کنید🙄') if matches[0] == 'ban': if is_mod(message): user = str(matches[1]) bot.kickChatMember(chat_id, user) bot.sendMessage(chat_id, 'کاربر {} از گروه اخراج شد❌'.format(user)) bot.sendMessage(r.hget('owner', chat_id), '''کاربر [{}](tg://user?id={}) از گروه {} اخراج شد❌ اخراج کننده : [{}](tg://user?id={}) '''.format(user, user, message['chat']['title'], message['from']['id'], message['from']['id']), parse_mode='Markdown') if matches == 'avatar': if is_mod(message): try: bot.download_file(message['reply_to_message']['photo'][1]['file_id'], '{}.jpg'.format(chat_id)) bot.setChatPhoto(chat_id, open('{}.jpg'.format(chat_id), 'rb')) os.remove('{}.jpg'.format(chat_id)) except Exception as e: bot.sendMessage(chat_id, '#Error:\n{}'.format(e), reply_to_message_id=message['reply_to_message']['message_id']) if matches == 'admins': if is_mod(message): owner = r.hget('owner', chat_id) if owner: oner = '[{}](tg://user?id={})'.format(owner, owner) else: oner = 'وجود ندارد❌' mods = r.smembers('mod:{}'.format(chat_id)) if mods: mod = '👥' sc = r.scard('mod:{}'.format(chat_id)) scnum = int(sc) i = 1 for x in mods: if scnum == i: mod += '\n└ > [{}](tg://user?id={})'.format(x, x) else: mod += '\n├> [{}](tg://user?id={})'.format(x, x) i = i + 1 else: mod = 'وجود ندارد❌' text = '''👤 ادمین اصلی : {} سایر ادمین ها : {}'''.format(oner, mod) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches[0] == 'filter': if is_mod(message): text = message['text'].replace(matches[0], '').replace('/ ', '').replace('# ', '').replace('! ', '') lines = re.findall('[^\n]+', text) fil = '' for x in lines: r.sadd('filter:{}'.format(chat_id), x) fil += '\n>{}'.format(x) bot.sendMessage(chat_id, '''☠️کلمات زیر به لیست فیلتر افزوده شدند : {}'''.format(fil)) if matches[0] == 'unfilter': if is_mod(message): text = message['text'].replace(matches[0], '').replace('/ ', '').replace('# ', '').replace('! ', '') lines = re.findall('[^\n]+', text) fil = '' for x in lines: r.srem('filter:{}'.format(chat_id), x) fil += '\n>{}'.format(x) bot.sendMessage(chat_id, '''☠️کلمات زیر از لیست فیلتر حذف شدند : {}'''.format(fil)) if matches == 'filters': if is_mod(message): filters = r.smembers('filter:{}'.format(chat_id)) text = '' for x in filters: text += '\n>{}'.format(x) bot.sendMessage(chat_id, '''🤐لیست کلمات فیلتر شده : {}'''.format(text)) if matches[0] == 'mute': if is_mod(message): if 'reply_to_message' in message: user = message['reply_to_message'] if not is_mod(user): name = message['reply_to_message']['from']['first_name'] bot.restrictChatMember(chat_id, user['from']['id'], until_date=time.time() + int(matches[1]) * 86400, can_send_messages=False, can_send_media_messages=False, can_send_other_messages=False, can_add_web_page_previews=False ) bot.sendMessage(chat_id, 'کاربر [{}](tg://user?id={})' ' به مدت {} روز نمیتواند در گروه پیامی ارسال کند😕' .format(name, user['from']['id'], matches[1]), parse_mode='Markdown') else: bot.sendMessage(chat_id, 'ادمینه 🤧') if matches == 'unmute': if is_mod(message): if 'reply_to_message' in message: user = message['reply_to_message'] bot.restrictChatMember(chat_id, user['from']['id'], can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True) bot.sendMessage(chat_id, 'آزاد شد :)') if matches[0] == 'unmute': if is_mod(message): if 'reply_to_message' in message: bot.restrictChatMember(chat_id, matches[1], can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True) bot.sendMessage(chat_id, 'آزاد شد :)') if matches[0] == 'mute' and matches[1] == 'all': if is_mod(message): if r.hget('lock_all', chat_id): bot.sendMessage(chat_id, 'قفل گروه از قبل فعال بوده است✔️') else: r.hset('lock_all', chat_id, True) bot.sendMessage(chat_id, 'گروه قفل شد✔️') if matches[0] == 'unmute' and matches[1] == 'all': if is_mod(message): if r.hget('lock_all', chat_id): r.hdel('lock_all', chat_id) bot.sendMessage(chat_id, 'قفل گروه باز شد✅') else: bot.sendMessage(chat_id, 'گروه قفل نبوده ک 🙄') if matches == 'robot': txt = '[{} هستم 🐣](tg://user?id={})'.format(message['from']['first_name'], message['from']['id']) bot.sendMessage(chat_id, txt, parse_mode='Markdown') if matches == 'link': link = bot.exportChatInviteLink(chat_id) text = '''{} {}'''.format(message['chat']['title'], link) bot.sendMessage(chat_id, text) if matches == 'creator': if is_sudo(message): admins = bot.getChatAdministrators(chat_id) for x in admins: if x['status'] == 'creator': print(x) r.hset('owner', chat_id, x['user']['id']) r.hset('owner:{}'.format(chat_id), x['user']['id'], True) text = 'کاربر [{}](tg://user?id={}) ادمین اصلی گروه است'. \ format(x['user']['first_name'], x['user']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') if matches == 'time': now = datetime.now(pytz.timezone("Asia/Tehran")).strftime("%H:%M:%S") bot.sendMessage(chat_id, now) if matches == 'admins_set': if is_owner(message): admins = bot.getChatAdministrators(chat_id) bot.sendMessage(chat_id, 'شروع عملیات معرفی کردن کل ادمین های گروه به ربات') i = 1 for x in admins: if x['status'] == 'administrator': print(x) r.sadd('mod:{}'.format(chat_id), x['user']['id']) text = 'کاربر [{}](tg://user?id={}) ادمین ربات در گروه شد'. \ format(x['user']['first_name'], x['user']['id']) bot.sendMessage(chat_id, text, parse_mode='Markdown') i = i + 1 bot.sendMessage(chat_id, 'تعداد {} نفر ادمین ربات شدند'.format(i)) if matches[0] == 'setlang': if is_mod(message): r.hset('lang_gp', chat_id, matches[1]) return [Message(chat_id).set_text(str(ln['ingroup']['setlang']).format(matches[1]))]