我正在为超级群组开发机器人。
如何确认会员是否为管理员?

我的lib:org.telegram 4.2 https://core.telegram.org/bots/api

我尝试使用ChatMember,GetChatAdministrators和SendMessage方法,但是我不知道如何插入参数,因为它们不询问它们,但它们只有.get选项(null respose)。只有GetChatAdministrators允许ChatID的.set方法,但它给出错误

GetChatAdministrators getadmin = new GetChatAdministrators().setChatId(ChatIDSupergroup);
            ArrayList<ChatMember> s = null;
            try {
                s = getadmin.deserializeResponse(null); //Unable to deserialize response
            } catch (TelegramApiRequestException e) {
                e.printStackTrace();
            }
ChatMember member = new ChatMember(); //There are only get options
String status=member.getStatus(); //null

最佳答案

    function adminCheck( id, chat_id ) {
    var bAdminCheck = false;
    var name = "";
    var aChatMember = getChatAdministrators( chat_id );
    var contents = JSON.parse( aChatMember );
    var i = 0;
    while( !bAdminCheck && ( i < contents.result.length ) ) {
        if( id == contents.result[i].user.id ) {
            bAdminCheck = true;
        }
        i++;
    }
    return {
    AdminCheck: bAdminCheck,
    };
}


可用方法
资源:
https://core.telegram.org/bots/api#available-methods

getChatAdministrators

使用此方法可获取聊天中的管理员列表。成功后,返回一个ChatMember对象数组,其中包含有关除其他漫游器以外的所有聊天管理员的信息。如果聊天是组或超组,并且没有任命管理员,则仅返回创建者。

关于java - 如何验证成员是否为管理员?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56506006/

10-16 17:52