Slack Conversations API的conversations_kick返回channel_not_found问题求助
以下是几个可能的原因和对应的排查方向:
机器人未加入目标频道
conversations_info接口只要有channels:read权限就能查询频道信息,不需要机器人是频道成员;但conversations_kick要求机器人必须是目标频道的成员才能执行踢人操作。你可以调用conversations_members接口,传入目标channel_id,检查机器人的user_id是否在成员列表里。如果不在,需要先让机器人加入频道(用conversations_join接口),再执行踢人操作。权限作用范围限制
虽然你给机器人令牌添加了channels:manage权限,但如果集成是按特定频道安装的(而非工作区全局安装),机器人只能管理安装时指定的频道。确认下集成的安装范围,或者重新安装并选择工作区全局权限。令牌类型或权限验证问题
确认你使用的是机器人令牌(xoxb-开头),而非用户令牌(xoxp-开头)。另外,虽然channels:manage权限已添加,但可以在Slack管理后台的“OAuth & Permissions”页面,检查该权限的状态是否为“已授权”,有没有未完成的权限审批流程。频道类型不兼容
虽然你提到是公共频道(C开头的channel_id),但再确认下目标频道是否是受限制的公共频道,或者是否属于其他特殊类型(如共享频道)。conversations_kick对共享频道的支持有限,需要机器人在共享双方的工作区都有相应权限。代码变量传递错误
再次检查代码中channel_id变量的传递逻辑,确认调用conversations_kick时传入的channel_id和调用conversations_info时的完全一致,没有因为异步逻辑或变量赋值错误导致的ID偏差。
内容的提问来源于stack exchange,提问作者soapergem

