June 13, 2020

Продолжаем извращаться или пишем телеграм бота на node.js vol.2

оригинальность вышла из чата

Так ебать. Сегодня разберем конструкцию starstWith и отправку всякой хуйни по типу видео, фото, аудио и тд. Начнем.


startsWith, не сложно догадаться, получает сообщения, которые начинаются с заданного значения. Например, команда:

if (message.text.startsWith("hello") {
    bot.sendMessage(message.chat.id, "Nice to meet u :3")
}

Будет выдавать текст "Nice to meet u :3", только если сообщение начинается со слова "hello". Вот и все. Мы разобрали функцию startsWith. Теперь приступим к отправке всякой дичи.


Я буду разбирать эту функцию на примере отправки фото. Список отправки всего остального будет в конце статьи.

Отправить фото также легко, как и, собственно, текст. Нам нужно лишь прописать:

bot.sendPhoto(message.chat.id, file_name, params)

Давайте разберем.


message.chat.id - id чата с юзером.

file_name - имя файла, если он находится в одной папке со скриптом или же полный путь к файлу. (расширение указывать обязательно)

params - это клавиатуры и тд. Об этом мы поговорим в след. статье. А пока, просто не пишите это.


Я не люблю говнокод, поэтому предлагаю сократить эту огромную команду до красивого минимума:

message.sendPH = (file, params) => bot.sendPhoto(message.chat.id, file, params)

Все. Теперь мы можем прописать:

message.sendPH("имя файла") и бот пришлет нам пикчу. Ниже я написал код, который сможет прочитать любой, кто читал прошлую и эту статью:

code
result

Список:

  • bot.sendAudio
  • bot.sendChatAction
  • bot.sendContact
  • bot.sendDocument
  • bot.sendGame
  • bot.sendInvoice
  • bot.sendLocation
  • bot.sendMediaGroup
  • bot.sendMessage
  • bot.sendPhoto
  • bot.sendSticker
  • bot.sendVideoNote
  • bot.sendVoice

Всех еще раз благодарю за прочтение. Не болейте ковидом и не пишите малвари на питоне. Адиос