Loading...

教你电报创建属于自己的机器人

技术分享4个月前发布 Jone
179 0 0

近几年来电报可是比微信流行多了,开放性也是比微信强多了,提供了很多api基本可以在上面做任何事了。

不像是微信还得靠大佬pj才能稍微实现机器化一些行为,今天就教大家怎么创建一个自己的电报机器人,可以用来做很多事情,具体就靠各位自己开发了。

电报机器人

平常做这种小玩意我基本上都是用go来开发了,移植比较方便。

OK下面正式开始我们本文的教程,注意:以下教程需要科学上网,没有条件的小伙伴可以退出去了

首先你需要有个电报账号。安卓用户直接网上搜索下载即可,苹果用户可能就需要切换到漂亮国区才能在商店里下载。如果没有漂亮国账号的话可以看下我的这篇文章——漂亮国ID注册,亲测可用 (qq.com)

新装的电报默认是英文且不支持中文,可以别人开发的插件包来改成中文,这个是一个中文插件包——Telegram: Set Language

创建一个机器人

找到BotFather让他帮你创建一个机器人,在对话里输入/newbot即可,然后再输入机器人的名字就能创建成功了。

教你电报创建属于自己的机器人

创建完成后机器人之父就会给你这个机器人的token,这个是获取机器人所有信息的关键,后续会用到。

教你电报创建属于自己的机器人

记住不要让别人知道你机器人的token,否则他也能操作你的机器人了。

机器人开发

我们的机器人已经创建完成且获取到了机器人的token,那么现在就可以具体开发机器人逻辑了。

网上有很多维护的机器人api,咱就不重复造轮子了,直接拿来!

这里我用的是开源项目——GitHub – go-telegram/bot: Telegram Bot API Go framework

更新及时,代码一目了然,推荐推荐!!!start不是很多,大家可以给作者点点。

package main

import (
    "context"
    "os"
    "os/signal"

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

// Send any text message to the bot after the bot has been started

func main() {
    ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt)
    defer cancel()

    opts := []bot.Option{
        bot.WithDefaultHandler(handler),
    }

    b, err := bot.New("YOUR_BOT_TOKEN_FROM_BOTFATHER", opts...)
    if err != nil {
        panic(err)
    }

    b.Start(ctx)
}

func handler(ctx context.Context, b *bot.Bot, update *models.Update) {
    b.SendMessage(ctx, &bot.SendMessageParams{
        ChatID: update.Message.Chat.ID,
        Text:   update.Message.Text,
    })
}

使用方式作者文档已经写的很完美了,还给了一个鲜明的例子。上面这个代码运行后,只要你给机器人发送任何文本消息,机器人就会给你回复你发的消息,感兴趣的可以试试。

教你电报创建属于自己的机器人

在此基础上你可以增加各种逻辑来实现你想要的效果,比如我就把原来的网盘搜索功能移植到这个机器人上面了,通过/s+资源名称即可进行搜索。

教你电报创建属于自己的机器人

对了电报的api国内访问不到,本地调试贼恶心,不知道小伙伴有没有好的方法,实在太难受了。

我的机器人,Telegram: Contact @xxzysBot,建议阅读原文后双击打开链接即可自动跳转。

闲聊

md骗子这么多,太少了就不爆他了(/= _ =)/~┴┴

© 版权声明

相关文章

暂无评论

暂无评论...