【问题标题】:Message sending Telegram bot (PHP)消息发送电报机器人 (PHP)
【发布时间】:2017-09-01 15:31:01
【问题描述】:

我知道问这样的问题有点奇怪,但我正在尝试用 PHP 编写一个电报机器人。

机器人在一个频道(例如频道 A)中,我将在该频道中发送消息,因此机器人将 复制 X 条消息到另一个频道(频道 B),每 Y 分钟一次。

Example:

X = 5
Y = 60
Channel A = ID .....
Channel B = ID .....

所以它会每小时将 5 条消息从 A 复制到 B...

有人可以给我写一个模板吗?我想我可以配置 VPS 和 webhook 的东西(SSL 等)。

【问题讨论】:

  • 欢迎来到 Stack Overflow!我们是一个志愿者社区,为陷入特定任务的程序员提供帮助。我们不是为您编写免费代码的服务。请阅读What topics can I ask about here?How do I ask a good question?
  • @AlexHowansky 你是对的,我尝试了一些台词,但我完全卡住了,所以我决定从头开始问!对此感到抱歉
  • 我想,如果你替换“请给我写一个模板?”关于“我该怎么做?”,它可以存在于stackoverflow中

标签: php bots telegram


【解决方案1】:

如果你想使用 webhook 的东西,你可以这样做。

编写如下示例代码:

<?php
    $texts_from_other_channel = [];
    array_push($texts_from_other_channel , $update_array['message']['text']);
    $t_size = sizeof($texts_from_other_channel)
    for($i=0 ; $i < $t_size ; $i++){
        $post_prs = ['chat_id' => $channel_id , 'text' => $texts_from_other_channel[$i]];
        send_reply($sendmessag_url , $post_prs);
    end

?>

send_reply() 函数或$update_array 之类的其他事情由您决定,我由您自己决定。

【讨论】:

    【解决方案2】:

    如果您需要每分钟发送消息,并从 Telegram 回调中获取消息,您需要了解队列(zmq、redis、gearman 等)。

    1. 创建守护程序。这些是你的机器人。他们可以从队列中读取消息并发送回调。
    2. 编写控制器以从电报中获取回调。它可以接收消息并推送到队列。
    3. 在 PHP 上安装 Ev 或 Event 扩展。 (你可以使用reactphp,它是创建计时器的简单解决方案)
    4. Bot1 创建定时器,并监听消息。如果我们有超过 5 条消息,计时器可以将消息推送到 Bot2 的队列中。

    您可以使用 reactphp/zmq、nrk/predis-async 来帮助您完成任务

    附: 这是最简单的解决方案。但是您可以使用 pthreads(而不是创建守护进程)或使用简单的套接字在 bot 中发送消息。

    【讨论】:

    • tnx 哥们!我找到了一个秒表的例子,我试着去做! tnx :)
    猜你喜欢
    • 2017-03-19
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 2019-12-31
    • 2017-05-11
    • 2021-01-29
    • 2020-08-25
    相关资源
    最近更新 更多