user8424508
user8424508

Reputation:

My telegram bot does not support Persian language

I built a telegram bot with Python-Telegram-bot, and I want to send a bot to a user in Persian when the user sends /Start ;but the bot does not work. My Code:

from telegram.ext import Updater,CommandHandler
updater = Updater(token='TOKEN')

def start_method(bot,update):
bot.sendMessage(update.message.chat_id,"سلام")

start_command = CommandHandler('start', start_method)
updater.dispatcher.add_handler(start_command)

updater.start_polling()

Upvotes: 3

Views: 503

Answers (2)

Mostafa Vafaei
Mostafa Vafaei

Reputation: 1

First, need to use a urllib. If your text is something like txt1, you need to quote it first and then send it as a message. like this:

from urllib.parse import quote
......

txt1 = 'سلام. خوش آمدید!'
txt = quote(txt1.encode('utf-8'))

Upvotes: 0

jh0ker
jh0ker

Reputation: 178

If you want to use unicode text in your code, you have to specify the file encoding according to PEP 263.

Place this comment at the beginning of your script:

#!/usr/bin/python
# -*- coding: utf-8 -*-

You can also use Python 3, which has much better unicode support in general and assumes utf-8 encoding for source files by default.

Upvotes: 3

Related Questions