如何用C#的Telegram.Bot 18.0.0库创建Telegram Bot邀请内联按钮?
解决Telegram Bot邀请内联按钮右上角带加号的问题
你当前使用的InlineKeyboardButton.WithSwitchInlineQuery方法,是用来创建触发内联机器人查询的按钮,右上角的加号是Telegram对这类按钮的默认标识,这不是你需要的邀请按钮效果。
如果要创建邀请用户加入群组/频道的内联按钮,正确的做法是使用带邀请链接的Url类型按钮,步骤如下:
先获取目标群组/频道的邀请链接
你可以通过BotFather生成,或者用代码调用CreateChatInviteLinkAsync接口生成:var inviteLink = await botClient.CreateChatInviteLinkAsync( chatId: -1001234567890, // 替换为你的群组/频道ID name: "专属邀请链接", expireDate: DateTime.Now.AddDays(7), // 可选:设置链接有效期 memberLimit: 100 // 可选:设置可加入人数上限 );使用
WithUrl方法创建内联按钮// 用获取到的邀请链接创建按钮 var inviteButton = InlineKeyboardButton.WithUrl("点击加入群组", inviteLink.Result.Url); // 组装键盘 var inlineKeyboard = new InlineKeyboardMarkup(new[] { new[] { inviteButton } });
这样生成的按钮不会带有加号,点击后直接打开邀请链接,用户可以直接申请加入群组/频道。
内容的提问来源于stack exchange,提问作者Eugene
相关产品推荐
相关产品推荐

