Бот Telegram не работает для персидских сообщений
Я создаю телеграмм-бот с python-telegram-bot. Я хочу опубликовать сообщение в группе после отправки сообщений в группу, и бот проверит сообщение, и, если в сообщениях есть слово в списке, бот удалит сообщение, но если сообщения на персидском языке, бот не удалит его, но если сообщение на латыни, бот удалит его. Посмотрите на сообщения в mlist, когда бот отправляет Hello группе, он удаляет это, но когда سلام отправляет в группу, он не удаляет бота.
# -*- coding: cp1256 -*-
#!/usr/bin/python
import os, sys
from telegram.ext import Filters
from telegram.ext import Updater, MessageHandler
import re
def delete_method(bot, update):
if not update.message.text:
print("it does not contain text")
return
mlist=['Hello', 'سلام']
for i in mlist:
if re.search(i, update.message.text):
bot.delete_message(chat_id=update.message.chat_id,message_id=update.message.message_id)
def main():
updater = Updater(token='TOKEN')
dispatcher = updater.dispatcher
dispatcher.add_handler(MessageHandler(Filters.all, delete_method))
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
# for exit
# updater.idle()
Бот должен удалять сообщения при отправке персидских сообщений в mlist группе, но он этого не сделает, но если сообщения в mlist на латинице и будут отправлены группе, сообщения будут удалены., Там нет ошибки вообще
1 ответ
Сначала вам нужно отладить вашу программу, чтобы увидеть, достигает ли она условия if или нет.
а также измените первую строку на:
# -*- coding: utf-8 -*-
посмотрим, работает ли это..