Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 13, 2017 17:25:47

Evgesh-spb
Зарегистрирован: 2017-10-13
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по боту и json

Всем привет. Третий день бьюсь над простым переводчиком для бота. Примеров никаких найти не могу, что бы понять принцип взаимодействия с 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']))

Нужно что бот переводил текст от пользователя и отправлял ему готовый перевод.
Помогите пожалуйста!

Офлайн

#2 Окт. 13, 2017 18:49:59

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Вопрос по боту и json

 json = translate_me('Здесь готовый текст для перевода')

Не надо называть переменную json, конфликты могут быть



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#3 Окт. 13, 2017 18:53:17

Evgesh-spb
Зарегистрирован: 2017-10-13
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по боту и json

ajib6ept
Не надо называть переменную json, конфликты могут быть
Можете исправить код?

Офлайн

#4 Окт. 15, 2017 08:56:34

Cenzor
Зарегистрирован: 2017-10-11
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по боту и 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']))

и вообще, принимайте от бота запрос, а потом с помощью requests (http for humans) переводите где хотите, зачем вам json?

Отредактировано Cenzor (Окт. 15, 2017 08:57:16)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version