@Baga12324
Учу Python

Как заблокировать человека в боте?

Нужно чтоб бот игнорировал человека
  • Вопрос задан
  • 105 просмотров
Решения вопроса 2
@Vindicar
Храни список (в файле, а лучше в базе данных) ID заблокированных, при поступлении команды проверяй что ID отправителя сообщения нет в списке.

Опциональные фишки типа хранения причины бана или даты, когда истекает бан, по желанию.
Ответ написан
@TupaDev
banned_users = []


def is_not_banned(func):
	@wraps(func)
	def decorator(message):
		if message.from_user.id not in banned_users:
			return func(message)
	return decorator


class MyTeleBot(TeleBot):
	def get_updates(self, *args, **kwargs):
		json_updates = apihelper.get_updates(self.token, *args, **kwargs)
		ret = []
		for ju in json_updates:
			if ju['message']['from']['id'] in banned_users:
				self.last_update_id = ju['update_id']
			else:
				ret.append(types.Update.de_json(ju))
		return ret
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы