【问题标题】:Join Chats and Channels in MadelineProto Telegram在 MadelineProto Telegram 中加入聊天和频道
【发布时间】:2017-07-19 08:50:20
【问题描述】:

我正在使用 Madeline 项目来自动化电报社区中的一些活动。 由于受到限制,机器人不适合执行这些任务。 所以我正在尝试使用普通用户帐户。

在某些类型的频道上一切正常,但在聊天中我遇到了一些问题。

有两种方法可以加入聊天/频道。 使用 TelegramID 和 HASH。

使用 HASH 非常简单,我使用这个函数并像一个魅力一样工作: $MadelineProto->messages->importChatInvite(['hash' => <HASH_CODE>, ]);

但是有了 Telegram 的 ID,事情就变得复杂了。 因为 Telegram ID 可以识别聊天或频道组

通常我使用这个功能: $MadelineProto->channels->joinChannel(['channel' => <Telegram_ID>, ]); 但是当 ID 的目标是聊天而不是频道时,它会失败。

MadelineProto 中没有加入聊天的功能。 我该怎么办?

抱歉,该项目的文档记录很差。 谢谢大家。

【问题讨论】:

    标签: php telegram telegram-bot php-telegram-bot telegram-webhook


    【解决方案1】:

    在没有用户名的情况下加入聊天的唯一方法是使用 importChatInvite。

    我很抱歉缺少文档,我不是维护它的人,电报应该是这样做的,但不幸的是,他们很久以前就停止这样做了。

    【讨论】:

    • 你做了一个了不起的工作@Danogentili。我只能说谢谢。我的问题是当聊天有用户名时。我不能使用 joinChannel 因为它是一个聊天。我不能使用 importChatInvite,因为它有一个用户名。我必须做什么?
    【解决方案2】:

    你可以先这样做

    $MadelineProto->contacts->resolveUsername

    按用户名查找

    $Updates = $MadelineProto->contacts->addContact()

    在电话簿中添加联系人

    $Updates = $MadelineProto->channels->inviteToChannel(['channel' =>...

    最新邀请用户加入频道

    所有都应该在同一个脚本 bcs 中完成,否则你会出错... 在第一个 resolveUsername 中,你应该在另外两个中使用用户名(更新你应该使用他的 id)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-06
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 1970-01-01
      • 2018-10-22
      • 1970-01-01
      • 2021-07-10
      相关资源
      最近更新 更多