Форум сайта python.su
Всем привет. Третий день бьюсь над простым переводчиком для бота. Примеров никаких найти не могу, что бы понять принцип взаимодействия с json.
Есть рабочий код. Ключ апи и юрл над кодом:
@bot.message_handler(content_types=['text']) def translator(message): if message.text == "Перевод": translate_text = bot.send_message(message.chat.id, "Какое слово или предложение перевести?") bot.register_next_step_handler(translate_text, translate_me)
def translate_me(translate_text): params = { 'key': KEY, 'text': translate_text, 'lang': 'ru-en' } response = requests.get(URL, params=params) return response.json() json = translate_me('Здесь готовый текст для перевода') print(' '.join(json['text']))
Офлайн
json = translate_me('Здесь готовый текст для перевода')
Офлайн
ajib6eptМожете исправить код?
Не надо называть переменную json, конфликты могут быть
Офлайн
@bot.message_handler(content_types=['text']) def translator(message): if message.text == "Перевод": translate_text = bot.send_message(message.chat.id, "Какое слово или предложение перевести?") response = bot.register_next_step_handler(translate_text, translate_me)//здесь переводполучаете от второй функции
def translate_me(message): //здесь вы в функцию должны передать message, который пользователь отправил params = { 'key': KEY, 'text': message.text, //а здесь из объекта message вытаскиваетет текст, то есть само сообщение 'lang': 'ru-en' } response = requests.get(URL, params=params) return response.json() //если вы возвращаете, то в певой функии должны принять это сообщение json = translate_me('Здесь готовый текст для перевода') print(' '.join(json['text']))
Отредактировано Cenzor (Окт. 15, 2017 08:57:16)
Офлайн