@room_it

Telegram Bot — undefined method при отправке сообщения?

Здравствуйте!
Изучаю Ruby, пытаюсь написать простейшего бота.

Суть: Пользователь вводит package name приложения в Google Play, который добавляется в массив. Раз в n cекунд бот проходит по массиву и проверяет, вышло ли приложение, или еще находится на модерации. Если приложение изменило статус (например, вышло с модерации), бот должен отправить сообщение.

При написании потока и отправке сообщения возникли трудности. Что я делаю не так?
Вот часть кода, отвечающая за бота: https://pastebin.com/y5mC9vY0

Прилагаю скриншот:
5f7d0ad3395b5461387121.png
  • Вопрос задан
  • 377 просмотров
Решения вопроса 1
@DoubleJarvis
В 14 строке в коде
bot.send_message(chat_id: saved_chat_id, text: app_text)
вы передаете hash {chat_id:, text:}, код гема вызывает на нем метод .text и валится потому что у хеша такого метода нет. Сигнатура метода send_message хочет увидеть reply в качестве аргумента, что можно увидеть в README:
# reply
message.reply do |reply|
reply.text = "homer please clean the garage"
reply.send_with(bot)
end
# or
reply = message.reply
reply.text = "i'll do it after going to moe's"
bot.send_message(reply)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы