Size: a a a

pyTelegramBotAPI.talks.ru

2019 November 21

Y🌯

Yulia 🌯 in pyTelegramBotAPI.talks.ru
if not on_message(message)
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Выглядит несомненно лучше
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Функционал только не меняется
источник

Y🌯

Yulia 🌯 in pyTelegramBotAPI.talks.ru
Егорка
black_list = []

content_types = ['text', 'audio', 'document', 'game', 'photo', 'sticker', 'video', 'video_note',
                'voice', 'contact', 'location', 'venue', 'new_chat_members', 'left_chat_member', 'invoice',
                'successful_payment',
                'connected_website', 'migrate_to_chat_id',
                'migrate_from_chat_id']

users = defaultdict(list)


def chackBlackList(message):
   if on_message(message) == False or message.chat.id in black_list:
       return False


@bot.message_handler(func=chackBlackList, content_types=content_types)
def blackList(message):
   print('In black list')


def on_message(message):
   id = message.from_user.id
   min_datetime = time.time() - 60
   users[id] = [date for date in users[id] if date >= min_datetime]
   if len(users[id]) < 20:
       users[id].append(message.date)
   else:
       return False


@bot.message_handler(commands=['start'])
def start(message):
   print('start')
в def blacklist пропустит если пользователь не в блеклисте
источник

Y🌯

Yulia 🌯 in pyTelegramBotAPI.talks.ru
это норма?
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Мне так и надо
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Ибо это ловушка на забаненых
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Т.е. наотправлял более 20 сообщений за минуту
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Отдохни
источник

Y🌯

Yulia 🌯 in pyTelegramBotAPI.talks.ru
Егорка
black_list = []

content_types = ['text', 'audio', 'document', 'game', 'photo', 'sticker', 'video', 'video_note',
                'voice', 'contact', 'location', 'venue', 'new_chat_members', 'left_chat_member', 'invoice',
                'successful_payment',
                'connected_website', 'migrate_to_chat_id',
                'migrate_from_chat_id']

users = defaultdict(list)


def chackBlackList(message):
   if on_message(message) == False or message.chat.id in black_list:
       return False


@bot.message_handler(func=chackBlackList, content_types=content_types)
def blackList(message):
   print('In black list')


def on_message(message):
   id = message.from_user.id
   min_datetime = time.time() - 60
   users[id] = [date for date in users[id] if date >= min_datetime]
   if len(users[id]) < 20:
       users[id].append(message.date)
   else:
       return False


@bot.message_handler(commands=['start'])
def start(message):
   print('start')
у тебя on_message либо None, либо False
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
None
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Но в один момент он становится False
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Как раз таки, когда больше 20 отправил
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
False
False
start
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Это ответ
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
def checkBlackList(message):
   if not on_message(message) or message.chat.id in black_list:
       print(on_message(message))
       print(message.chat.id in black_list)
       return False
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
от этой функции
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Когда больше 20
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Знаешь
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Как бы не ругались
источник