telegram群聊怎么发消息
telegram是海外常用的聊天功能,功能很强盛,除了聊天还可以玩游戏,传文件,视频,声音,投票,群组。固然,这些跟qq,微信都很类似了。但是它毕竟是海外最常用的IM之一。telegram有个聊天机器人可以主动发消息,也是挺故意思的。它还开放了api,可以自己创建bot,通过api发送消息,视频,声音,文件等功能。下面,我简单介绍下怎么新建一个bot
telegram有两种api,一种是bot api,一种是telegram api。bot api是基于http访问,telegram api是基于mtproto访问,访问需要加密,相对要庞杂一些。后者也可以实现发送消息等功能。这里我只说第一种bot api。
首先要创建一个bot。访问
https://telegram.me/botfather
它会提示你用telegram打开。然后你就打开了botfarther的聊天对话框。输入
/newbot
回车发送。botfarther会反馈
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
输入你要创建的bot名字。比方david_bot,回车发送
它会反馈
Good. Now let’s choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
我再输入 DavidBot。这是这个机器人的名字。
它会反馈
Sorry, this username is already taken. Please try something different.
这名字已经被用了。我们换一个
GZ_David_Bot
它会反馈
BotFather, [16.02.17 14:23]
Done! Congratulations on your new bot. You will find it at t.me/Gz_David_Bot. 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:
xxx:xxx
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
这里它天生了api token。我们记下它。以后api请求都市用到。假如需要帮助,输入 /help
输入/token 可以重新天生一个token。
/revoke 可以撤除一个token
我们需要用这个bot来发送消息,首先需要创建一个group,参加一些人,同时将这个bot也加进去。然后在这个group中发送消息。类似 /hello @GZ_David_Bot
然后访问
https://api.telegram.org/botxxx:xxx/getUpdates
我们会获取到一个json
{
“ok”
:
true
,
“result”
: [{
“update_id”
: xxx,
“message”
: {
“message_id”
:
4
,
“from”
: {
“id”
: xxx,
“first_name”
:
“david”
,
“last_name”
:
“huang”
,
“username”
:
“davidhuang”
},
“chat”
: {
“id”
: -xxx,
“title”
:
“bot”
,
“type”
:
“group”
,
“all_members_are_administrators”
:
true
},
“date”
: xxx,
“text”
:
“/hello @GZ_David_Bot”
,
“entities”
: [{
“type”
:
“bot_command”
,
“offset”
:
0
,
“length”
:
6
}
]
}
},
]
}
这里,我们看到有个id,指的就是当前group的id。我们记下它 。然后实行以下curl。
botXXX:YYYY 指的是bot+token,肯定要加上bot前缀
chat_id就是上面的id,留意是负数,必须有-
发送内容是=my sample text
curl -X POST “https://api.telegram.org/botXXX:YYYY/sendMessage” -d “chat_id=-zzzzzzzzzz&text=my sample text”
要么在browser地点输入:
https://api.telegram.org/
botXXX:YYYY
/sendMessage?chat_id=-
zzzzzzzzzz
&text=
my sample text
实行完,这个group就收到消息了。
api git:
https://github.com/unreal4u/telegram-api/graphs/contributors
但是悲剧的是,它只支持php7.
https://github.com/unreal4u/telegram-api/wiki
别的,也可以通过webhook api获取聊天记载等功能。但是这个api要求我们的站点必须是https证书
另有个bot sdk,它只要php5.5就可以了
https://telegram-bot-sdk.readme.io/reference#forwardmessage
https://github.com/irazasyed/telegram-bot-sdk
https://telegram-bot-sdk.readme.io/v2.0/reference
sdk 文档:
https://telegram-bot-sdk.readme.io/docs
安装
composer require irazasyed/telegram-bot-sdk
这个sdk包含了全部的telegram bot api,比方支持command,keyboard,webhook
参考文档:
https://fullmeter.com/blog/?p=14
http://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id-ruby-gem-telegram-bot
https://core.telegram.org/bots
https://core.telegram.org/bots/api
Telegram 私聊限定
Telegram 给或人发送私聊消息时碰到如下提示:
Sorry,you can only send messages to mutual contacts at the momet.
中文:抱歉,您如今只能给双向联系人发送消息。
缘故:
前段时间币圈使用Telegram 的便利,大量发广告和拉人进群。
Telegram 限定了+86 大陆手机号绑定的账号的私聊。
+86 的账号不能给非+86 的账号主动发起私聊,+86 的账号能给+86 主动发起私聊的;
方才注册的+86 账号也不能发起私聊的,过段时间就OK了。
解决措施:
向官方 @SpamBot 发送消息申请(跟着提示操作就行),半小时左右即可排除限定
步骤:/start → But I can’t message non-contacts! → NO,I’ll never do any of this! → accident
动图:
Telegram 群限定
Telegram 假如你进入某个群/频道碰到如下提示:
This channel is blocked because it was used to spread pornograhic content.
翻译:此频道被屏蔽,由于它用于流传色情内容
缘故:有人在群内发了某些内容,被多次举报导致被 Telegram 限定访问
碰到这个提示有两种环境:
此群/频道被 Telegram 彻底封了,各个平台全部客户端都不能进去了; 此群/频道在 iOS 和 macOS 的 App Store 下载的客户端不能进入,而其他平台客户端能进入;
这是由于 Apple 的限定,对上架 App Store 的内容限定,假如 Telegram 不做限定就会被 App Store 下架。
第一种环境是无解的。
第二种环境的解决措施:
iOS 上: 使用网页版可以进入,网页版地点:https://web.telegram.org 使用第三方客户端 Nicegram, 详情:https://t.me/yxbjx/120864 使用 Telegram X
本文内容来自以下官方文档
Bots: An introduction for developers Telegram Bot API
Creating a new bot
Telegram 添加 BotFather 进入聊天界面
点击输入框中 /start
回答内容中点击 /newbot
阅读提示分别输入 name 和 username
紧接着回答内容中包含了接下来需要使用的 token,看起来像这样:123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
以上步骤可同步参考 官方文档:Creating a new bot
sendMessage
curl 'https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getMe'
以上下令请参考 官方文档:getMe
curl -d 'chat_id=700049303&text=hello' 'https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage'
以上下令请参考 官方文档:sendMessage
此时你大概会迷惑,你的 chat_id 那里来的?与 Bot 发起私聊,在群聊里添加 Bot,之后均可以通过 getUpdates 接口请求到内容,message.chat.id 便是我们想要的 chat_id 啦,私聊为正,群聊为负
curl 'https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getUpdates'
以上下令请参考 官方文档:getUpdates
总结
具备以上知识,监控程序中集成 通知到Telegram 应该不成问题
官方文档:Telegram Bot API 中有几节比较短,建议看一下啊
Authorizing your bot Making requests Getting updates
本文网址:
http://www.1cm8858.com/d/202069115516_3257_2117931422/home
Ten articles before and after
【telegram官网app】telegram最新官方下载电脑版-电报telegram技巧分享
最新telegram关闭敏感内容过滤方法苹果ios的如何解除限制?-电报telegram技巧分享
如何在小技巧:电脑快截键截图法-电报telegram技巧分享
【内附视频教程】及【最详细步骤图】手把手教你下载使用telegram(pc端、ios端、安卓端)华为手机怎么安装?-电报telegram技巧分享
telegram有什么优点?为什么使用.由于政府审查和管制太多-电报telegram技巧分享
telegramtg抱歉你只能给双向联系人发送消息-电报telegram技巧分享
保护隐私:老司机手把手教你注册telegram(电报)账号+86手机号的如何解除不能私聊问题-电报telegram技巧分享
telegram怎么改用户名(username)有什么用?一定要设置吗如何@TGgeek-电报telegram技巧分享
微信偷看聊天记录?拒绝提供用户加密会话密钥-电报telegram技巧分享
华为p40现在可以安装google和play商店的服务预装应用反受欢迎?手机上70个流行Android应用程序-电报telegram技巧分享