VkApi, Python. Не работает черный список у бота
Имеется страничный бот со следующим кодом:
ignore_list = ['id человека']
while True:
try:
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
from_id = event.user_id
msg_text = event.text.lower()
message_id = event.message_id
if from_id not in ignore_list: #проверка на присутствие в чс
if event.from_chat:
peer_id = event.peer_id
chat_id = event.chat_id
user_name = session.method('users.get', {
'user_ids': from_id
})
print(f' {from_id}: {msg_text}')
if msg_text == '1':
sender_chat(206, 'ответ 1')
if msg_text == '2':
sender_chat(206, 'ответ 2')
elif from_id in ignore_list: #или просто else: если в чс
sender_chat(206, 'ты в чс ')
except:
print(traceback.format_exc())
Условие почему-то не работает или работает не корректно. Пользователю в чс бот по прежнему предоставляет свой функционал. На черновом варианте все работало:
ignore_list = ['12345678']
from_id = 12345678
if from_id not in ignore_list:
print('hello')
elif from_id in ignore_list:
print('you are in blacklist')
#на выводе все корректно: you are in blacklist
Ответы (1 шт):
Автор решения: shinoxzu
→ Ссылка
А Вы в каком формате в списке храните идентификаторы пользователей? VK Api возвращает целочисленное значение. Не знаю, как Вы проверяли, но в коде ниже (где в выводе "все корректно") программа выводит hello, т.к. типы данных различаются.