Фикс багов, мелкие обновления
This commit is contained in:
		
							parent
							
								
									35d48a6307
								
							
						
					
					
						commit
						d02e9c184c
					
				
							
								
								
									
										127
									
								
								mod.py
									
									
									
									
									
								
							
							
						
						
									
										127
									
								
								mod.py
									
									
									
									
									
								
							| @ -9,9 +9,9 @@ global db, users, la | |||||||
| ####### CREATE DB IF NOT EXIST | ####### CREATE DB IF NOT EXIST | ||||||
| 
 | 
 | ||||||
| if not os.path.exists('db.json'): | if not os.path.exists('db.json'): | ||||||
| 	db = {"token": "None"} | 	db = {'token': 'None'} | ||||||
| 	js = json.dumps(db, indent=2) | 	js = json.dumps(db, indent=2) | ||||||
| 	with open("db.json", "w") as outfile: | 	with open('db.json', 'w') as outfile: | ||||||
| 		outfile.write(js) | 		outfile.write(js) | ||||||
| 
 | 
 | ||||||
| 	print('Input token in "None" (db.json)') | 	print('Input token in "None" (db.json)') | ||||||
| @ -20,13 +20,13 @@ if not os.path.exists('db.json'): | |||||||
| if not os.path.exists('users.json'): | if not os.path.exists('users.json'): | ||||||
|         users = {} |         users = {} | ||||||
|         js = json.dumps(users, indent=2) |         js = json.dumps(users, indent=2) | ||||||
|         with open("users.json", "w") as outfile: |         with open('users.json', 'w') as outfile: | ||||||
|                 outfile.write(js) |                 outfile.write(js) | ||||||
| 
 | 
 | ||||||
| if not os.path.exists('la.json'): | if not os.path.exists('la.json'): | ||||||
|         la = {} |         la = {} | ||||||
|         js = json.dumps(la, indent=2) |         js = json.dumps(la, indent=2) | ||||||
|         with open("la.json", "w") as outfile: |         with open('la.json', 'w') as outfile: | ||||||
|                 outfile.write(js) |                 outfile.write(js) | ||||||
| ############WORK WITH DBs########## | ############WORK WITH DBs########## | ||||||
| 
 | 
 | ||||||
| @ -37,7 +37,7 @@ def read_db(): | |||||||
| def write_db(): | def write_db(): | ||||||
|         global db |         global db | ||||||
|         js = json.dumps(db, indent=2) |         js = json.dumps(db, indent=2) | ||||||
|         with open("db.json", "w") as outfile: |         with open('db.json', 'w') as outfile: | ||||||
|                 outfile.write(js) |                 outfile.write(js) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -48,7 +48,7 @@ def read_users(): | |||||||
| def write_users(): | def write_users(): | ||||||
|         global users |         global users | ||||||
|         js = json.dumps(users, indent=2) |         js = json.dumps(users, indent=2) | ||||||
|         with open("users.json", "w") as outfile: |         with open('users.json', 'w') as outfile: | ||||||
|                 outfile.write(js) |                 outfile.write(js) | ||||||
| 
 | 
 | ||||||
| # LA - Low Admin. | # LA - Low Admin. | ||||||
| @ -59,7 +59,7 @@ def read_la(): | |||||||
| 	return la | 	return la | ||||||
| def write_la(la): | def write_la(la): | ||||||
| 	js = json.dumps(la, indent=2) | 	js = json.dumps(la, indent=2) | ||||||
| 	with open("la.json", "w") as outfile: | 	with open('la.json', 'w') as outfile: | ||||||
| 		outfile.write(js) | 		outfile.write(js) | ||||||
| 
 | 
 | ||||||
| ####################FAST HASH################# | ####################FAST HASH################# | ||||||
| @ -74,13 +74,13 @@ def sha(text): | |||||||
| 
 | 
 | ||||||
| def get_admins(message): | def get_admins(message): | ||||||
| 	try: | 	try: | ||||||
| 		if bot.get_chat(message.chat.id).type == "private": | 		if bot.get_chat(message.chat.id).type == 'private': | ||||||
| 			return [] | 			return [] | ||||||
| 		else: | 		else: | ||||||
| 			admins = bot.get_chat_administrators(chat_id=message.chat.id) | 			admins = bot.get_chat_administrators(chat_id=message.chat.id) | ||||||
| 			true_admins = [] | 			true_admins = [] | ||||||
| 			for i in admins: | 			for i in admins: | ||||||
| 				if i.status == "creator" or i.can_restrict_members == True: | 				if i.status == 'creator' or i.can_restrict_members == True: | ||||||
| 					true_admins.append(i.user.id) | 					true_admins.append(i.user.id) | ||||||
| 		return true_admins | 		return true_admins | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| @ -89,7 +89,7 @@ def get_admins(message): | |||||||
| 
 | 
 | ||||||
| # Fix for anon admins, all anon (not premium) users == admins | # Fix for anon admins, all anon (not premium) users == admins | ||||||
| def is_anon(message): | def is_anon(message): | ||||||
| 	if message.from_user.username ==  "Channel_Bot" or message.from_user.username == "GroupAnonymousBot": | 	if message.from_user.username ==  'Channel_Bot' or message.from_user.username == 'GroupAnonymousBot': | ||||||
| 		if message.from_user.is_premium == None: | 		if message.from_user.is_premium == None: | ||||||
| 			return True | 			return True | ||||||
| 	else: | 	else: | ||||||
| @ -165,7 +165,7 @@ def have_rights(message, set_la = False): | |||||||
| 		if str(message.from_user.username) in la[str(message.chat.id)]: | 		if str(message.from_user.username) in la[str(message.chat.id)]: | ||||||
| 			return True | 			return True | ||||||
| 	else: | 	else: | ||||||
| 		bot.reply_to(message, "Увы, но у вас нету прав.") | 		bot.reply_to(message, 'Увы, но у вас нету прав.') | ||||||
| 
 | 
 | ||||||
| def key_by_value(dictionary, key): | def key_by_value(dictionary, key): | ||||||
| 	for i in dictionary: | 	for i in dictionary: | ||||||
| @ -179,7 +179,7 @@ def analytic(message): | |||||||
| 
 | 
 | ||||||
| 	if key_by_value(users, message.from_user.id) == message.from_user.username: | 	if key_by_value(users, message.from_user.id) == message.from_user.username: | ||||||
| 		pass | 		pass | ||||||
| 	elif message.from_user.username == "None": | 	elif message.from_user.username == 'None': | ||||||
| 		pass | 		pass | ||||||
| 	else: | 	else: | ||||||
| 		users[sha(message.from_user.username)] = message.from_user.id | 		users[sha(message.from_user.username)] = message.from_user.id | ||||||
| @ -197,18 +197,18 @@ bot = telebot.TeleBot(db['token']) | |||||||
| 
 | 
 | ||||||
| @bot.message_handler(commands=['start', 'faq']) | @bot.message_handler(commands=['start', 'faq']) | ||||||
| def send_welcome(message): | def send_welcome(message): | ||||||
| 	bot.reply_to(message, """Колотушка работает 🔨 | 	bot.reply_to(message, '''Колотушка работает 🔨 | ||||||
| 
 | 
 | ||||||
| Что это такое? | Что это такое? | ||||||
| Это минимальный бот-модератор без слежки с открытым кодом. | Это минимальный бот-модератор без слежки с открытым кодом. | ||||||
| Код: https://gitea.gulyaipole.fun/justuser/just_moderator | Код: https://gitea.gulyaipole.fun/justuser/just_moderator | ||||||
| 
 | 
 | ||||||
| Список команд - /help | Список команд - /help | ||||||
| """) | ''') | ||||||
| 
 | 
 | ||||||
| @bot.message_handler(commands=['help']) | @bot.message_handler(commands=['help']) | ||||||
| def help(message): | def help(message): | ||||||
| 	bot.reply_to(message, """ | 	bot.reply_to(message, ''' | ||||||
| Список команд: | Список команд: | ||||||
| 
 | 
 | ||||||
| /mute ⇁ Мут человека в ответ на сообщение | /mute ⇁ Мут человека в ответ на сообщение | ||||||
| @ -229,7 +229,7 @@ def help(message): | |||||||
| /html <code> ⇁ Отправка текста сообщения в режиме формата html. | /html <code> ⇁ Отправка текста сообщения в режиме формата html. | ||||||
| 
 | 
 | ||||||
| /support ⇁ Написать разработчику. Прошу писать по делу. | /support ⇁ Написать разработчику. Прошу писать по делу. | ||||||
| """) | ''') | ||||||
| 
 | 
 | ||||||
| @bot.message_handler(commands=['mute']) | @bot.message_handler(commands=['mute']) | ||||||
| def mute(message): | def mute(message): | ||||||
| @ -240,10 +240,10 @@ def mute(message): | |||||||
| 			if target: | 			if target: | ||||||
| 				if time: | 				if time: | ||||||
| 					bot.restrict_chat_member(message.chat.id, target, until_date = message.date + time[1]) | 					bot.restrict_chat_member(message.chat.id, target, until_date = message.date + time[1]) | ||||||
| 					answer = f"Пользователь { get_name(message) } был заглушён на {time[0]} {time[2]}." | 					answer = f'Пользователь { get_name(message) } был заглушён на {time[0]} {time[2]}.' | ||||||
| 				else: | 				else: | ||||||
| 					bot.restrict_chat_member(message.chat.id, target, until_date = message.date) | 					bot.restrict_chat_member(message.chat.id, target, until_date = message.date) | ||||||
| 					answer = f"Пользователь { get_name(message) } был заглушен." | 					answer = f'Пользователь { get_name(message) } был заглушен.' | ||||||
| 				try: | 				try: | ||||||
| 					bot.reply_to(message, answer, parse_mode='HTML') | 					bot.reply_to(message, answer, parse_mode='HTML') | ||||||
| 				except: | 				except: | ||||||
| @ -260,11 +260,13 @@ def unmute(message): | |||||||
| 		if have_rights(message): | 		if have_rights(message): | ||||||
| 			target = get_target(message) | 			target = get_target(message) | ||||||
| 			if target: | 			if target: | ||||||
| 				bot.restrict_chat_member(message.chat.id, target, can_send_messages=True, can_send_other_messages = True, until_date = message.date) | 				bot.restrict_chat_member(message.chat.id, target, can_send_messages=True | ||||||
| 				bot.reply_to(message, f"""Пользователь { get_name(message) } снова имеет дар речи. | 				, can_send_other_messages = True, can_send_polls = True | ||||||
| """, parse_mode='HTML') | 				, can_add_web_page_previews = True, until_date = message.date) | ||||||
|  | 				bot.reply_to(message, f'''Пользователь { get_name(message) } снова имеет дар речи. | ||||||
|  | ''', parse_mode='HTML') | ||||||
| 			else: | 			else: | ||||||
| 				catch_error(message, None, "no_user") | 				catch_error(message, None, 'no_user') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -278,10 +280,10 @@ def kick(message): | |||||||
| 				bot.ban_chat_member(message.chat.id, target) | 				bot.ban_chat_member(message.chat.id, target) | ||||||
| 				bot.unban_chat_member(message.chat.id, target) | 				bot.unban_chat_member(message.chat.id, target) | ||||||
| 
 | 
 | ||||||
| 				bot.reply_to(message, f"""Пользователь { get_name(message) } был исключён. | 				bot.reply_to(message, f'''Пользователь { get_name(message) } был исключён. | ||||||
| """, parse_mode='HTML') | ''', parse_mode='HTML') | ||||||
| 			else: | 			else: | ||||||
| 				catch_error(message, None, "no_user") | 				catch_error(message, None, 'no_user') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -293,10 +295,10 @@ def ban(message): | |||||||
| 			target = get_target(message) | 			target = get_target(message) | ||||||
| 			if target: | 			if target: | ||||||
| 				bot.ban_chat_member(message.chat.id, target) | 				bot.ban_chat_member(message.chat.id, target) | ||||||
| 				bot.reply_to(message, f"""Пользователь { get_name(message) } исключён и заблокирован. | 				bot.reply_to(message, f'''Пользователь { get_name(message) } исключён и заблокирован. | ||||||
| """, parse_mode='HTML') | ''', parse_mode='HTML') | ||||||
| 			else: | 			else: | ||||||
| 				catch_error(message, None, "no_user") | 				catch_error(message, None, 'no_user') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -307,10 +309,10 @@ def unban(message): | |||||||
| 			target = get_target(message) | 			target = get_target(message) | ||||||
| 			if target: | 			if target: | ||||||
| 				bot.unban_chat_member(message.chat.id, target) | 				bot.unban_chat_member(message.chat.id, target) | ||||||
| 				bot.reply_to(message, f"""Пользователь { get_name(message) } разблокирован. | 				bot.reply_to(message, f'''Пользователь { get_name(message) } разблокирован. | ||||||
| """, parse_mode='HTML') | ''', parse_mode='HTML') | ||||||
| 			else: | 			else: | ||||||
| 				catch_error(message, None, "no_user") | 				catch_error(message, None, 'no_user') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -319,10 +321,10 @@ def setwelcome(message): | |||||||
| 	try: | 	try: | ||||||
| 		if have_rights(message): | 		if have_rights(message): | ||||||
| 			global db | 			global db | ||||||
| 			db[str(message.chat.id)] = message.html_text[ message.text.find(" ") + 1 :] | 			db[str(message.chat.id)] = message.html_text[ message.text.find(' ') + 1 :] | ||||||
| 
 | 
 | ||||||
| 			bot.reply_to(message, f"""Установлено новое приветственное сообщение: | 			bot.reply_to(message, f'''Установлено новое приветственное сообщение: | ||||||
| \n{db[str(message.chat.id)]}""", parse_mode='HTML') | \n{db[str(message.chat.id)]}''', parse_mode='HTML') | ||||||
| 			write_db() | 			write_db() | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| @ -332,8 +334,8 @@ def welcome(message): | |||||||
| 	try: | 	try: | ||||||
| 		global db | 		global db | ||||||
| 		read_db() | 		read_db() | ||||||
| 		bot.reply_to(message, f"""Приветственное сообщение: | 		bot.reply_to(message, f'''Приветственное сообщение: | ||||||
| \n{db[str(message.chat.id)]}""", parse_mode='HTML') | \n{db[str(message.chat.id)]}''', parse_mode='HTML') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -342,9 +344,9 @@ def lock(message): | |||||||
| 	try: | 	try: | ||||||
| 		if have_rights(message): | 		if have_rights(message): | ||||||
| 			bot.set_chat_permissions(message.chat.id, telebot.types.ChatPermissions(can_send_messages=False, can_send_other_messages = False, can_send_polls = False)) | 			bot.set_chat_permissions(message.chat.id, telebot.types.ChatPermissions(can_send_messages=False, can_send_other_messages = False, can_send_polls = False)) | ||||||
| 			bot.reply_to(message, "Чат был заблокирован 🔒") | 			bot.reply_to(message, 'Чат был заблокирован 🔒') | ||||||
| 		else: | 		else: | ||||||
| 			bot.reply_to(message, "Увы, но у вас нету прав.") | 			bot.reply_to(message, 'Увы, но у вас нету прав.') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -353,7 +355,7 @@ def unlock(message): | |||||||
| 	try: | 	try: | ||||||
| 		if have_rights(message): | 		if have_rights(message): | ||||||
| 			bot.set_chat_permissions(message.chat.id, telebot.types.ChatPermissions(can_send_messages=True, can_send_other_messages = True, can_send_polls = True)) | 			bot.set_chat_permissions(message.chat.id, telebot.types.ChatPermissions(can_send_messages=True, can_send_other_messages = True, can_send_polls = True)) | ||||||
| 			bot.reply_to(message, "Чат был разблокирован 🔓") | 			bot.reply_to(message, 'Чат был разблокирован 🔓') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -361,7 +363,7 @@ def unlock(message): | |||||||
| def getid(message): | def getid(message): | ||||||
| 	try: | 	try: | ||||||
| 		if have_rights(message): | 		if have_rights(message): | ||||||
| 			bot.reply_to(message, "ID: " + telebot.formatting.hcode(str(get_target(message))), parse_mode="HTML" ) | 			bot.reply_to(message, 'ID: ' + telebot.formatting.hcode(str(get_target(message))), parse_mode='HTML' ) | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -401,16 +403,17 @@ def html(message): | |||||||
| def chatid(message): | def chatid(message): | ||||||
| 	try: | 	try: | ||||||
| 		if have_rights(message): | 		if have_rights(message): | ||||||
| 			bot.reply_to(message, "Айди чата: " + telebot.formatting.hcode( str(message.chat.id) ), parse_mode='HTML') | 			bot.reply_to(message, 'Айди чата: ' + telebot.formatting.hcode( str(message.chat.id) ), parse_mode='HTML') | ||||||
| 		else: | 		else: | ||||||
| 			bot.reply_to(message, "Увы, но у вас нету прав.") | 			bot.reply_to(message, 'Увы, но у вас нету прав.') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| ############ LOW-ADMIN ############## | ############ LOW-ADMIN ############## | ||||||
| 
 | 
 | ||||||
| def have_la(id): | def have_la(message): | ||||||
| 	try: | 	try: | ||||||
|  | 		id = message.from_user.id | ||||||
| 		la = read_la() | 		la = read_la() | ||||||
| 		if id in la: | 		if id in la: | ||||||
| 			return True | 			return True | ||||||
| @ -425,9 +428,9 @@ def have_la(id): | |||||||
| def la(message): | def la(message): | ||||||
| 	bot.reply_to(message, f'''Доступные команды: | 	bot.reply_to(message, f'''Доступные команды: | ||||||
| 
 | 
 | ||||||
| 	{telebot.formatting.hcode("/la-list")} - список администраторов в режиме low-admin | 	{telebot.formatting.hcode('/la-list')} - список администраторов в режиме low-admin | ||||||
| 	{telebot.formatting.hcode("/la-add @nick")} - добавить в администраторы | 	{telebot.formatting.hcode('/la-add @nick')} - добавить в администраторы | ||||||
| 	{telebot.formatting.hcode("/la-del @nick")} - удалить из администраторов | 	{telebot.formatting.hcode('/la-del @nick')} - удалить из администраторов | ||||||
| 	''', parse_mode = 'HTML') | 	''', parse_mode = 'HTML') | ||||||
| 
 | 
 | ||||||
| @bot.message_handler(commands=['la-list']) | @bot.message_handler(commands=['la-list']) | ||||||
| @ -436,7 +439,7 @@ def la_list(message): | |||||||
| 		if have_rights(message, set_la=True): | 		if have_rights(message, set_la=True): | ||||||
| 			la = read_la() | 			la = read_la() | ||||||
| 			if have_la(str(message.chat.id)): | 			if have_la(str(message.chat.id)): | ||||||
| 				s = "Список администраторов в режиме low-admin:\n" | 				s = 'Список администраторов в режиме low-admin:\n' | ||||||
| 				for i in la[str(message.chat.id)]: | 				for i in la[str(message.chat.id)]: | ||||||
| 					s = s + '\n@' + i | 					s = s + '\n@' + i | ||||||
| 				bot.reply_to(message, s, parse_mode='HTML') | 				bot.reply_to(message, s, parse_mode='HTML') | ||||||
| @ -454,7 +457,7 @@ def la_add(message): | |||||||
| 				la[str(message.chat.id)].append(nick) | 				la[str(message.chat.id)].append(nick) | ||||||
| 				print(la) | 				print(la) | ||||||
| 				write_la(la) | 				write_la(la) | ||||||
| 				bot.reply_to(message, f"Пользователь @{nick} успешно добавлен в список администраторов.") | 				bot.reply_to(message, f'Пользователь @{nick} успешно добавлен в список администраторов.') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -469,7 +472,7 @@ def la_del(message, set_la=True): | |||||||
| 				if nick in la[str(message.chat.id)]: | 				if nick in la[str(message.chat.id)]: | ||||||
| 					la[str(message.chat.id)].remove(nick) | 					la[str(message.chat.id)].remove(nick) | ||||||
| 				write_la(la) | 				write_la(la) | ||||||
| 				bot.reply_to(message, f"Пользователь @{nick} был исключён из списка администраторов.") | 				bot.reply_to(message, f'Пользователь @{nick} был исключён из списка администраторов.') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -480,8 +483,9 @@ def la_del(message, set_la=True): | |||||||
| @bot.chat_join_request_handler() | @bot.chat_join_request_handler() | ||||||
| def join_request(message: telebot.types.ChatJoinRequest): | def join_request(message: telebot.types.ChatJoinRequest): | ||||||
| 	try: | 	try: | ||||||
| 		bot.send_message(message.chat.id, f"""Поступила заявка на вступление от { telebot.util.user_link(message.from_user) }  | 		bot.send_message(message.chat.id, f'''Поступила заявка на вступление от { telebot.util.user_link(message.from_user) }  | ||||||
| Принять: { telebot.formatting.hcode(f"/accept {message.from_user.id}") }""", parse_mode="HTML") | Принять: { telebot.formatting.hcode(f'/accept {message.from_user.id}') }''', parse_mode='HTML') | ||||||
|  | 		analytic(message) | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -491,7 +495,7 @@ def accept_request(message): | |||||||
| 		if have_rights(message): | 		if have_rights(message): | ||||||
| 			if len(message.text.split()) == 2: | 			if len(message.text.split()) == 2: | ||||||
| 				bot.approve_chat_join_request(message.chat.id, message.text.split()[1] ) | 				bot.approve_chat_join_request(message.chat.id, message.text.split()[1] ) | ||||||
| 				bot.reply_to(message, "Заявка принята.") | 				bot.reply_to(message, 'Заявка принята.') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -500,19 +504,20 @@ def accept_request(message): | |||||||
| @bot.message_handler(commands=['support']) | @bot.message_handler(commands=['support']) | ||||||
| def support(message): | def support(message): | ||||||
| 	try: | 	try: | ||||||
| 		bot.reply_to(message, f"""Связь с аднимистратором в @just_anonchat_bot | 		bot.reply_to(message, f'''Связь с аднимистратором в @just_anonchat_bot | ||||||
| Адрес - {telebot.formatting.hcode(":justuser")}""", parse_mode="HTML") | Адрес - {telebot.formatting.hcode(':justuser')}''', parse_mode='HTML') | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| #####################WELCOME##### | #####################WELCOME##### | ||||||
| 
 | 
 | ||||||
| @bot.message_handler(content_types=["new_chat_members"]) | @bot.message_handler(content_types=['new_chat_members']) | ||||||
| def handler_new_member(message): | def handler_new_member(message): | ||||||
| 	try: | 	try: | ||||||
| 		global db | 		global db | ||||||
| 		read_db() | 		read_db() | ||||||
| 		bot.reply_to(message, db[str(message.chat.id)], parse_mode='HTML') | 		bot.reply_to(message, db[str(message.chat.id)], parse_mode='HTML') | ||||||
|  | 		analytic(message) | ||||||
| 	except Exception as e: | 	except Exception as e: | ||||||
| 		catch_error(message, e) | 		catch_error(message, e) | ||||||
| 
 | 
 | ||||||
| @ -542,7 +547,7 @@ logging.basicConfig(stream=log_stream) | |||||||
| 
 | 
 | ||||||
| # Known errors | # Known errors | ||||||
| known_errs = { | known_errs = { | ||||||
| 	"A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: not enough rights to restrict/unrestrict chat member": "Увы, но у бота не хватает прав для этого." | 	'A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: not enough rights to restrict/unrestrict chat member': 'Увы, но у бота не хватает прав для этого.' | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #              message   error  err_type ('no_user', ...) | #              message   error  err_type ('no_user', ...) | ||||||
| @ -559,16 +564,16 @@ def catch_error(message, e, err_type = None): | |||||||
| 			logging.error(traceback.format_exc()) # Log error | 			logging.error(traceback.format_exc()) # Log error | ||||||
| 			err = log_stream.getvalue() # Error to variable | 			err = log_stream.getvalue() # Error to variable | ||||||
| 
 | 
 | ||||||
| 			bot.send_message(message.chat.id, "Critical error (свяжитись через /support ) :\n\n" + telebot.formatting.hcode(err), parse_mode='HTML') | 			bot.send_message(message.chat.id, 'Critical error (свяжитись через /support ) :\n\n' + telebot.formatting.hcode(err), parse_mode='HTML') | ||||||
| 
 | 
 | ||||||
| 			log_stream.truncate(0) # Clear | 			log_stream.truncate(0) # Clear | ||||||
| 			log_stream.seek(0) # Clear | 			log_stream.seek(0) # Clear | ||||||
| 	elif err_type == "no_user": | 	elif err_type == 'no_user': | ||||||
| 		bot.send_message(message.chat.id, "Не указан пользователь.") | 		bot.send_message(message.chat.id, 'Не указан пользователь.') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ##################MAIN THREAD##### | ##################MAIN THREAD##### | ||||||
| ''' | #''' | ||||||
| while True: | while True: | ||||||
| 	try: | 	try: | ||||||
| 		bot.polling() | 		bot.polling() | ||||||
| @ -578,4 +583,4 @@ while True: | |||||||
| 		pass | 		pass | ||||||
| ''' | ''' | ||||||
| bot.polling() | bot.polling() | ||||||
| #''' | ''' | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user