Skip to content

Instantly share code, notes, and snippets.

@demndevel
Created November 6, 2021 06:35
Show Gist options
  • Save demndevel/7c9dfc528be4e00797d441a249661aa9 to your computer and use it in GitHub Desktop.
Save demndevel/7c9dfc528be4e00797d441a249661aa9 to your computer and use it in GitHub Desktop.
simple telegram bot written in golang by medium.com
package main
import (
"github.com/Syfaro/telegram-bot-api"
"log"
)
func main() {
// подключаемся к боту с помощью токена
bot, err := tgbotapi.NewBotAPI("ТОКЕН")
if err != nil {
log.Panic(err)
}
bot.Debug = true
log.Printf("Authorized on account %s", bot.Self.UserName)
// инициализируем канал, куда будут прилетать обновления от API
var ucfg tgbotapi.UpdateConfig = tgbotapi.NewUpdate(0)
ucfg.Timeout = 60
err = bot.UpdatesChan(ucfg)
// читаем обновления из канала
for {
select {
case update := <-bot.Updates:
// Пользователь, который написал боту
UserName := update.Message.From.UserName
// ID чата/диалога.
// Может быть идентификатором как чата с пользователем
// (тогда он равен UserID) так и публичного чата/канала
ChatID := update.Message.Chat.ID
// Текст сообщения
Text := update.Message.Text
log.Printf("[%s] %d %s", UserName, ChatID, Text)
// Ответим пользователю его же сообщением
reply := Text
// Созадаем сообщение
msg := tgbotapi.NewMessage(ChatID, reply)
// и отправляем его
bot.SendMessage(msg)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment