找回密码
 立即注册
搜索
查看: 133|回复: 0

如何使用 telegram 机器人向个人或频道发送信息

[复制链接]

2万

主题

0

回帖

6万

积分

管理员

积分
65174
发表于 2024-10-30 14:54:47 | 显示全部楼层 |阅读模式
使用机器人发送信息可以分为两类:向个人发送信息和向通道发送信息(通道可以绑定群组,间接向群组发送信息)。无论是哪一种,它实际上都是通过机器人向某人发送消息。

如果它属于某个人,则会发送给该人。虽然tg bot中的每个人都可以搜索到它,但只有相应的用户才能收到信息。如果你想让每个人都看到这个信息,那么将机器人添加到(频道),然后从这个频道获取信息,将信息发送到这个频道,然后用户通过加入这个就可以看到这个机器人发送到频道的信息渠道。信息。

频道可以绑定到组。绑定后,频道管理员在频道上发布的信息会同时发布到群组中。难怪,每次看到别人频道发消息,立马就出现在群里。向频道发送消息就像聊天一样简单。当然,正如前面提到的,你也可以使用机器人来为你做这件事。订阅频道的用户可以通过两种方式评论频道信息:直接点击频道发表评论,或者长按相应群中的消息然后选择回复。

发送消息

如下图,通过机器人发送信息,只需要提供三个参数:token、text。

<p><pre class="language-js">    <code class="language-js code-highlight"><span class="code-line">got
</span><span class="code-line">  <span class="token punctuation">.</span><span class="token method function property-access">post</span><span class="token punctuation">(</span>
</span><span class="code-line">    <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">https://api.telegram.org/bot</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>token<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">/sendMessage?chat_id=</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>chat_id<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">&text=哈哈哈哈</span><span class="token template-punctuation string">`</span></span>
</span><span class="code-line">  <span class="token punctuation">)</span>
</span><span class="code-line">  <span class="token punctuation">.</span><span class="token method function property-access">then</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">res</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> res<span class="token punctuation">.</span><span class="token property-access">body</span><span class="token punctuation">)</span>
</span><span class="code-line">  <span class="token punctuation">.</span><span class="token method function property-access">then</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">res</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>res<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre></p>


得到

可以通过以下方式从该机器人获取令牌:

<p><pre class="language-js">    <code class="language-js code-highlight"><span class="code-line">got
</span><span class="code-line">  <span class="token punctuation">.</span><span class="token method function property-access">post</span><span class="token punctuation">(</span><span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">https://api.telegram.org/bot</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>botToken<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">/getUpdates</span><span class="token template-punctuation string">`</span></span><span class="token punctuation">)</span>
</span><span class="code-line">  <span class="token punctuation">.</span><span class="token method function property-access">then</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">res</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> res<span class="token punctuation">.</span><span class="token property-access">body</span><span class="token punctuation">)</span>
</span><span class="code-line">  <span class="token punctuation">.</span><span class="token method function property-access">then</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">res</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>res<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre></p>
得到的就是对象。您可以通过该方法主动获取用户发送给机器人的信息。获得它的另一种方法是。由于服务器不会保存超过24小时的信息,因此只能获取过去24小时的信息。

另外,还可以通过以下方法获取该bot的一些信息:

<p><pre class="language-js">    <code class="language-js code-highlight"><span class="code-line"><span class="token function">got</span><span class="token punctuation">(</span><span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">https://api.telegram.org/bot</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>token<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">/getMe</span><span class="token template-punctuation string">`</span></span><span class="token punctuation">)</span>
</span><span class="code-line">  <span class="token punctuation">.</span><span class="token method function property-access">then</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">res</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> res<span class="token punctuation">.</span><span class="token property-access">body</span><span class="token punctuation">)</span>
</span><span class="code-line">  <span class="token punctuation">.</span><span class="token method function property-access">then</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">res</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>res<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre></p>


发送消息

可用于解析的格式支持html,但支持范围有限。例如html只支持a、b等少数html标签。

有四种类型。这个属性的含义是,如果我给机器人发消息,对方可能需要回复我。为了方便对方回复,我在这条消息中添加一些,例如。

view 设置为 false 后,某些链接上会出现按钮。

<p><pre class="language-js">    <code class="language-js code-highlight"><span class="code-line"><span class="token keyword">const</span> message <span class="token operator">=</span> <span class="token string">'科技微讯博客'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword control-flow">await</span> got
</span><span class="code-line">  <span class="token punctuation">.</span><span class="token method function property-access">post</span><span class="token punctuation">(</span><span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">https://api.telegram.org/bot</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>botToken<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">/sendMessage</span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
</span><span class="code-line">    <span class="token literal-property property">json</span><span class="token operator">:</span> <span class="token punctuation">{</span>
</span><span class="code-line">      <span class="token literal-property property">chat_id</span><span class="token operator">:</span> chat_id<span class="token punctuation">,</span>
</span><span class="code-line">      <span class="token literal-property property">text</span><span class="token operator">:</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>message<span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">,</span>
</span><span class="code-line">      <span class="token literal-property property">parse_mode</span><span class="token operator">:</span> <span class="token string">"html"</span><span class="token punctuation">,</span>
</span><span class="code-line">      <span class="token literal-property property">disable_web_page_preview</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
</span><span class="code-line">      <span class="token literal-property property">reply_markup</span><span class="token operator">:</span> <span class="token punctuation">{</span>
</span><span class="code-line">        <span class="token literal-property property">inline_keyboard</span><span class="token operator">:</span> <span class="token punctuation">[</span>
</span><span class="code-line">          <span class="token punctuation">[</span>
</span><span class="code-line">            <span class="token punctuation">{</span>
</span><span class="code-line">              <span class="token literal-property property">text</span><span class="token operator">:</span> <span class="token string">"阅读"</span><span class="token punctuation">,</span>
</span><span class="code-line">              <span class="token literal-property property">url</span><span class="token operator">:</span> item<span class="token punctuation">.</span><span class="token property-access">articleURL</span><span class="token punctuation">,</span>
</span><span class="code-line">            <span class="token punctuation">}</span><span class="token punctuation">,</span>
</span><span class="code-line">            <span class="token punctuation">{</span>
</span><span class="code-line">              <span class="token literal-property property">text</span><span class="token operator">:</span> <span class="token string">"更多"</span><span class="token punctuation">,</span>
</span><span class="code-line">              <span class="token literal-property property">url</span><span class="token operator">:</span> item<span class="token punctuation">.</span><span class="token property-access">link</span><span class="token punctuation">,</span>
</span><span class="code-line">            <span class="token punctuation">}</span><span class="token punctuation">,</span>
</span><span class="code-line">          <span class="token punctuation">]</span><span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token punctuation">]</span><span class="token punctuation">,</span>
</span><span class="code-line">      <span class="token punctuation">}</span><span class="token punctuation">,</span>
</span><span class="code-line">    <span class="token punctuation">}</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token punctuation">}</span><span class="token punctuation">)</span>
</span><span class="code-line">  <span class="token punctuation">.</span><span class="token method function property-access">json</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre></p>
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【远见汇智】 ( 京ICP备20013102号-17 )

GMT+8, 2025-5-7 16:32 , Processed in 0.074433 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表