Телеграмм-бот не работает с персидскими сообщениями

Я создаю бота для телеграмм с python-telegram-bot. Я хочу опубликовать сообщение в группе после отправки сообщений в группу, и бот проверяет сообщение, и если слово в mlist находится в сообщениях, бот удалит сообщение, но если сообщения на персидском языке, бот не удалит его, но если сообщение на латыни, бот удалит его. Посмотрите сообщения в 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 на латыни и будут отправлены группе, сообщения будут удалены. . Нет вообще никакой ошибки


person Community    schedule 14.08.2017    source источник
comment
Лучший выбор, который у вас есть, - это отладить вашу программу.   -  person vishes_shell    schedule 15.08.2017
comment
@vishes_shellКак ?? по поводу Приведите пример.   -  person    schedule 16.08.2017


Ответы (1)


Сначала вам нужно отладить свою программу, чтобы увидеть, попадает ли она внутрь предложения if или нет.

а также измените первую строку на:

# -*- coding: utf-8 -*-

посмотрим, работает ли это ..

person Majeed Askari    schedule 20.08.2017