技术猫Go

做一个 telegram bot (复读机)

2019-07-26  本文已影响0人  阿碎Abser

<article id="content" class="article-content" tabindex="0" style="outline-style: none;">

尝试

用 Go 语言做了一个 telegram 的 bot . 用来简单实现对话(复读)。

获得 telegram bot token

和 BotFather 交谈即可

中途需要设置一下名字和查找路径

image.png

go get

首先获取 api 包

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">go get -u github.com/go-telegram-bot-api/telegram-bot-api</pre>

code

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">package main

import (
"log"
"os"

"github.com/go-telegram-bot-api/telegram-bot-api"
)

func main() {
bot, err := tgbotapi.NewBotAPI(os.Getenv("TELEGRAM_APITOKEN"))
if err != nil {
log.Panic(err)
}

bot.Debug = true

log.Printf("Authorized on account %s", bot.Self.UserName)

u := tgbotapi.NewUpdate(0)
u.Timeout = 60

updates, err := bot.GetUpdatesChan(u)

for update := range updates {
if update.Message == nil { // ignore any non-Message Updates
continue
}

msg := tgbotapi.NewMessage(update.Message.Chat.ID, update.Message.Text)
msg.ReplyToMessageID = update.Message.MessageID

if _, err := bot.Send(msg); err != nil {
  og.Panic(err)
}

}
}</pre>

Run

注意 终端需要能访问 telegram 的 API

image.png

效果

image.png

</article>

上一篇下一篇

猜你喜欢

热点阅读