TgBot не может найти владельца - PullRequest
0 голосов
/ 07 января 2020

Я начал программировать своего собственного бота-телеграммы в cpp с помощью tgbot- cpp и сделал код для бана. Когда код проверяет, есть ли у пользователя полномочия на бан, он находит необходимые полномочия для администраторов, но не для владельца группы. Я посмотрел в документации, есть ли способ найти владельца группы, но я не смог его найти. Это раздел кода, который проверяет питание.

    /* Checks if the client has the permission to ban */
    bool hasPermission = false;
    for (unsigned i = 0; i < admins.size(); i++) {
        if (admins[i]->user->id == message->from->id) {
            printf("Admin username: %s\n", admins[i]->user->username.c_str());
            printf("Can Restrict: %d\n", admins[i]->canRestrictMembers);

            if (admins[i]->canRestrictMembers) {
                hasPermission = true;
            }

            break;
        }
    }
    if (!hasPermission) {
        return;
    }

Когда администратор использует команду ban, я получаю Can Restrict: 1 в консоли, но когда владелец использует команду, я получаю Can Restrict: 0 , Есть ли причина, по которой бот не видит силы владельца? Есть ли способ найти владельца?

1 Ответ

0 голосов
/ 22 января 2020

Посмотрев лучше в документации, есть значение status для ChatMember, которое установлено на creator для владельца группы. Похоже, это способ проверить, является ли кто-то владельцем или нет, избегая вопроса о разрешении

...