Просмотр новых публикаций

Последние сообщения с форума

Джокер2 - Безумие на двоих (2024)
kishnin81, Кинообзор онлайн
0 Ответов
kishnin81
Дэдпул и Росомаха (2024)
kishnin81, Кинообзор онлайн
0 Ответов
kishnin81
Бесплатные VPS/VPDS
kishnin81, Прочие статьи
7 Ответов
safonovs3f
Как узнать имя пользователя на удаленном компьютере
kishnin81, Прочие статьи
1 Ответов
safonovs3f
ВТБ халявные акции за обучение
kishnin81, Прочие статьи
3 Ответов
safonovs3f

Внимание! Если Вы видите рекламму на нашем ресурсе, установите для вашего браузера расширение Adblock Plus | AdBlocker Ultimate | Блокировщик рекламы |

[Python] Простой бот переводчик в телеграм



Библиотеки: telebot, configparser, googletrans

Возможны некоторые недочеты, но а так все нормально.

Для установки googletrans прописываем в CMD
pip install googletrans==3.1.0a0
Остальные версии этой либы у меня не работали.

Далее устанавливаем telebot
pip install pytelegrambotapi
создаем файл Python и записываем туда код бота.

создаем файл "settings.ini" в папке с ботом, открываем его с помощью любого редактора и записываем туда:
[tgbot]
token=*ваш токен бота*
Далее открываем CMD, пишем
cd *Путь к боту*
И наконец пишем
python *название файла с ботом*.py
Все!
 
import telebot, configparser
from telebot import types, apihelper
from googletrans import Translator

config = configparser.ConfigParser()
config.read("settings.ini")
token = config["tgbot"]["token"]

bot = telebot.TeleBot(token)

translator = Translator()
@bot.message_handler(commands=["start"])
def start_message(message):
 markup = telebot.types.InlineKeyboardMarkup()
 markup.add(telebot.types.InlineKeyboardButton(text='Перевод',callback_data=3))
 bot.send_message(message.chat.id, "Добро пожаловать! \nЯ бот-переводчик и готов переводить твои фразы.", reply_markup = markup)

@bot.message_handler(content_types=["text"])
def send_text(message):
 if message.text == "Перевод":
 markup = telebot.types.InlineKeyboardMarkup()
 markup.add(telebot.types.InlineKeyboardButton(text='RU',callback_data=1))
 markup.add(telebot.types.InlineKeyboardButton(text='EN ', callback_data=2))

 bot.send_message(message.chat.id, "Выбери язык на который хотите перевести текст.", reply_markup = markup)
 else:
 markup = telebot.types.InlineKeyboardMarkup()
 markup.add(telebot.types.InlineKeyboardButton(text='RU',callback_data=1))
 markup.add(telebot.types.InlineKeyboardButton(text='EN ', callback_data=2))
 bot.send_message(message.chat.id, "Выбери язык на который хотите перевести текст.", reply_markup = markup)

def next_trans2(message):
 try:
 text = int(message.text)
 bot.send_message(message.chat.id, "Это не текст!")
 except:
 text = message.text
 lang = 'ru'
 res = translator.translate(text, dest=lang)
 bot.send_message(message.chat.id, res.text)

def next_trans3(message):
 try:
 text = int(message.text)
 bot.send_message(message.chat.id, "Это не текст!")
 except:
 text = message.text
 lang = 'en'
 res = translator.translate(text, dest=lang)
 bot.send_message(message.chat.id, res.text)



@bot.callback_query_handler(func=lambda call: True)
def query_handler(call):

 bot.answer_callback_query(callback_query_id=call.id)
 answer = ''
 if call.data == '1':
 markup = telebot.types.InlineKeyboardMarkup()
 markup.add(telebot.types.InlineKeyboardButton(text='Выбрать другой язык', callback_data=3))
 markup.add(telebot.types.InlineKeyboardButton(text='Отмена', callback_data=4))
 msg = bot.edit_message_text(chat_id = call.message.chat.id, message_id = call.message.message_id, text = "Введите текст для перевода", reply_markup = markup)
 bot.register_next_step_handler(msg, next_trans2)
 elif call.data == '2':
 markup = telebot.types.InlineKeyboardMarkup()
 markup.add(telebot.types.InlineKeyboardButton(text='Выбрать другой язык', callback_data=3))
 markup.add(telebot.types.InlineKeyboardButton(text='Отмена', callback_data=4))
 msg = bot.edit_message_text(chat_id = call.message.chat.id, message_id = call.message.message_id, text = "Введите текст для перевода", reply_markup = markup)
 bot.register_next_step_handler(msg, next_trans3)
 elif call.data == '3':
 markup = telebot.types.InlineKeyboardMarkup()
 markup.add(telebot.types.InlineKeyboardButton(text='RU',callback_data=1))
 markup.add(telebot.types.InlineKeyboardButton(text='EN ', callback_data=2))
 msg = bot.edit_message_text(chat_id = call.message.chat.id, message_id = call.message.message_id, text = "Выбери язык на который хотите перевести текст.", reply_markup = markup)
 elif call.data == '4':
 markup = telebot.types.InlineKeyboardMarkup()
 markup.add(telebot.types.InlineKeyboardButton(text='Перевод', callback_data=3))
 bot.edit_message_text(chat_id = call.message.chat.id, message_id = call.message.message_id, text = "Вы вернулись в главное меню!", reply_markup = markup)
 

bot.polling()



Информация:
Посетители, находящиеся в группе Гости, не могут скачивать файлы с данного сайта.

Пароль к архивам: ComInet



21.03.2021 10:21 丨 Загрузок: 0 Просмотров: 281 Комментарий: (0)


Автор материала
...
Логин на сайте: ...
Группа: ...
Статус: ...

Категория

Поделись с друзьями


Комментариев: 0
avatar