发一个 Telegram Bot 的框架 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
U2FsdGVkX1
V2EX    分享创造

发一个 Telegram Bot 的框架

  •  1
     
  •   U2FsdGVkX1
    U2FsdGVkX1 2016-12-25 10:07:45 +08:00 15009 次点击
    这是一个创建于 3216 天前的主题,其中的信息可能已经有所发展或是发生改变。

    诞生

    最开始本来是要满足一些需求,后来越写越多干脆发布算了(

    特点

    这是一个全新的 Bot 框架,该版本拥有一个前端,使得你不需要再登录数据库启用 /禁用每个插件,程序中的错误报告功能,可让 Bot 调试拥有极高的效率~~

    新建插件和编辑插件允许你能够在线的编辑某个插件,甚至通过移动设备编辑

    注意

    1. 这个框架本身没有什么用,因为是以插件为中心的(就像 CQ 、 MPQ 那种差不多),也就是收到一条消息之后会通知每个插件,插件自身做出对应响应
    2. 插件开发文档正在编写……目前你可以参考一些预置插件了解怎么开发插件
    3. 已知在设置页面快速点击每个按钮就会出现无法解除禁用的 bug

    使用方法

    因为某些原因(对没错就是懒得写),所以安装页面就没有写……于是第一次使用的话需要手动配置几个东西

    1. 打开 Config/Config.php ,把数据库信息填入(分别为数据库地址、数据库名、数据库用户名、数据库密码、是否长连接)
    2. 打开 table.sql ,复制全部内容到 MySQL 执行
    3. 打开你的网站,输入默认密码( admin )
    4. 在设置页面配置 Bot Token 、 Bot Username

    最后

    演示站: https://test.plus1day.xyz

    Gayhub : https://github.com/U2FsdGVkX1/Tbo

    PS :演示站默认密码为 admin ……更改密码功能并没有禁用,我对 v2 的人还是有信任的,同时也请不要随意更改密码

    求订阅收藏点赞打赏丢硬币丢香蕉给我

    第 1 条附言    2016-12-25 15:48:04 +08:00
    各位不要只收藏不回复啊
    第 2 条附言    2017-05-27 12:40:19 +08:00
    PHP 版本的 Tbo 已经基本完善,之后大概不会有重要更新了
    第 3 条附言    2017-07-03 12:56:11 +08:00
    演示站已暂时下线
    27 条回复    2018-02-25 18:37:37 +08:00
    U2FsdGVkX1
        1
    U2FsdGVkX1  
    OP
       2016-12-25 10:28:08 +08:00
    (话说不要只收藏不回复喂
    badcode
        2
    badcode  
       2016-12-25 10:42:42 +08:00   1
    1.在客户端进行左边搜索框上搜索“ BotFather ”,这是一个机器人他爹。

    2.点 “/newbot ”,根据提示请输入一个机器人的名字,创建的机器人就显示这个名字

    接着根据出现的提示再次输入用户名,这个用名字会在用户信息里看到

    出现
    Done! Congratulations on your new bot. You will find it at telegram.me/用户名. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.

    Use this token to access the HTTP API:

    0000000:AA00000000
    For a description of the Bot API, see this page: https://core.telegram.org/bots/api

    说明创建成功了

    3.接着就是获取 ID(chat_id 或群组 ID)

    方法一:
    再次在左边搜索框上搜索“ get id ”,这是一个获取 Chat ID 机器人。
    在聊天输入框里输入“/my_id ”即可获取自己的 chat_id 和 group chat id
    ID 格式有区别
    chat_id(22222222)
    group chat id(-12345456)

    方法二:
    重点>>>先给自己或在群里发一条信息,然后浏览器上输入下面的链接

    https://api.telegram.org/bot0000000:AA00000000/getupdates 返回的是 409 ?
    group chat id 为一组带"-数字",例如-12345456
    chat_id 为一组不带"-数字",例如 22222222

    机械人给自己发信息:hi

    https://api.telegram.org/bot0000000:AA00000000/sendmessage?chat_id=22222222&text=hi

    0000000:AA00000000 换成你的 Token
    22222222 换为你的 chat_id
    hi 换为你要发的信息
    机器人给群发信息: hi

    https://api.telegram.org/bot0000000:AA000000000/sendmessage?chat_id=-12345456&text=hi

    -12345456 换成你的 group chat id
    chat_id 是唯一的



    之前要给群推送消息,搜的一点东西,不知道有没有用
    KenGe
        3
    KenGe  
       2016-12-25 11:04:13 +08:00
    密码错误 /div>
    U2FsdGVkX1
        4
    U2FsdGVkX1  
    OP
       2016-12-25 11:06:18 +08:00
    @KenGe 已更改密码并关闭修改密码
    tSQghkfhTtQt9mtd
        5
    tSQghkfhTtQt9mtd  
       2016-12-25 17:52:51 +08:00
    域名暴力膜
    U2FsdGVkX1
        6
    U2FsdGVkX1  
    OP
       2016-12-25 18:57:19 +08:00
    @liwanglin12 蛤?
    onenightintokyo
        7
    onenightintokyo  
       2016-12-25 19:32:56 +08:00
    请问为什么我打开自己部署的网站,登陆时填完密码登陆没有任何反应
    U2FsdGVkX1
        8
    U2FsdGVkX1  
    OP
       2016-12-25 20:40:41 +08:00
    @onenightintokyo 执行 sql 均全部正确没有错误?确定服务器字词 pdo ?可以说一下你的域名吗?我明天看一看
    U2FsdGVkX1
        9
    U2FsdGVkX1  
    OP
       2016-12-25 20:42:03 +08:00
    @onenightintokyo 如果你不愿意发域名的话,你也可以打开 chrome 的开发人员工具的 network 标签下,看一看点击登录后发送的 ajax 结果是什么
    onenightintokyo
        10
    onenightintokyo  
       2016-12-25 20:45:09 +08:00 via Android
    没域名。。。
    onenightintokyo
    &bsp;   11
    onenightintokyo  
       2016-12-25 20:46:56 +08:00 via Android
    感觉可能是我没配好,我再试试吧,谢谢了
    U2FsdGVkX1
        12
    U2FsdGVkX1  
    OP
       2016-12-25 20:51:19 +08:00
    @onenightintokyo 没有域名的话可以使用我说的第二种方法(切换 network 标签页,看 ajax 结果)
    onenightintokyo
        13
    onenightintokyo  
       2016-12-25 20:55:28 +08:00 via Android
    谢谢啦
    ins
        14
    ins  
       2016-12-25 21:17:38 +08:00
    mark...
    kmahyyg
        15
    kmahyyg  
       2016-12-25 22:39:14 +08:00 via Android
    有些啥子功能?我目前是用 bash 后端+php 前端+webhook 弄了个 vps 监控。。。。
    haitang
        16
    haitang  
       2016-12-26 00:17:54 +08:00
    试用了下,很棒,已 star
    U2FsdGVkX1
        17
    U2FsdGVkX1  
    OP
       2016-12-26 06:52:54 +08:00
    @kmahyyg
    可以在线编辑、启用、停用插件
    而且重新封装 Telegram API 的函数,使得开发变得更简单
    而且还有授权登录功能,不必一次次输入密码
    llhh
        18
    llhh  
       2016-12-26 09:37:19 +08:00
    我收藏了,有时间试试。
    onenightintokyo
        19
    onenightintokyo  
       2016-12-26 20:27:52 +08:00 via Android
    昨天是我犯傻了,今天发现是 php 版本的问题(O_O)
    U2FsdGVkX1
        20
    U2FsdGVkX1  
    OP
       2016-12-27 10:20:21 +08:00
    @onenightintokyo 建议 php 环境为 >= 5.4
    wm5d8b
        21
    wm5d8b  
       2016-12-27 11:10:40 +08:00   1
    最近看到 https://github.com/blueset/ehForwarderBot ,可以收发微信, lz 或许可以参考一下?
    U2FsdGVkX1
        22
    U2FsdGVkX1  
    OP
       2016-12-27 11:49:19 +08:00   1
    @wm5d8b 蟹蟹,之后我做一个类似的插件吧
    youranus
        23
    youranus  
       2016-12-27 13:22:43 +08:00 via iPhone
    好东西
    abmin521
        24
    abmin521  
       2016-12-28 22:16:07 +08:00
    楼主的用户名不是随机生产的吗
    U2FsdGVkX1
        25
    U2FsdGVkX1  
    OP
       2016-12-29 06:41:21 +08:00
    @abmin521 AES 加密
    chimojiacai2
        26
    chimojiacai2  
       2018-02-24 21:28:42 +08:00
    hi,里面的 curl 方法(fetch 方法),请求 telegram 的 api 放法,返回 false,不知道为啥,
    但是请求别的 url 是可以返回到数据的
    U2FsdGVkX1
        27
    U2FsdGVkX1  
    OP
       2018-02-25 18:37:37 +08:00
    @chimojiacai2 你可以使用 callMethod 方法的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     875 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 21:14 PVG 05:14 LAX 14:14 JFK 17:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86