Skip to content

Instantly share code, notes, and snippets.

@sharkyak
Created January 25, 2019 15:23
Show Gist options
  • Save sharkyak/600ab61adf2b5efcb78aa659f0f24447 to your computer and use it in GitHub Desktop.
Save sharkyak/600ab61adf2b5efcb78aa659f0f24447 to your computer and use it in GitHub Desktop.
send message to telegram
Стучимся к родителю всех ботов, а именно к @BotFather и просим его создать нам одного (вводим /newbot).
Вводим имя, ник и получаем токен бота. Как раз он нам и нужен.
Заметьте, что ник бота должен быть <your>_bot или <Your>Bot.
Создали, хорошо, но надо оживить его. Ищем его в поиске по нику и пишем /start.
Все, теперь можем обращаться к нему через api.
Далее необходимо создать группу, куда бот будет кидать сообщения, не забываем добавить его в чат.
Вводим /join @ник_бота в созданном чате, потому что бывает, что не добавляется в логи запись о приглашении бота в группу.
Идем в браузер и в адресной строке вводим:
https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXXXXX/getUpdates
где XXXXXXXXXXXXXXXXXXXXXXX — токен бота, который любезно дал вам @BotFather.
Если все прошло успешно, то получим примерно такую простыню из букв,
где необходимо найти объект «chat»:{«id:XXXXXXXXXX…}.
Обычно id группового чата начинается с минуса.
function sendMessage() {
const MSG = encodeURI('test message')
const TOKEN = 'xxx'
const CHAT = '-xxx'
fetch(`https://api.telegram.org/bot${TOKEN}/sendMessage?chat_id=${CHAT}&parse_mode=html&text=${MSG}`, {
method: 'POST',
headers: new Headers({'Content-Type': 'application/json'})
})
.then(blob => blob.json())
.then(data => console.log('data', data))
.catch(err => console.log('error', err))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment