You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Telegram Bot(aiogram/telebot)自动创建群组并生成邀请链接

解决方案:用aiogram自动创建群组并生成邀请链接

要实现自动创建唯一新群组并发送邀请链接的功能,你可以利用aiogram提供的create_supergroup方法自动创建超级群,再结合create_chat_invite_link生成专属链接。以下是完整实现代码及关键说明:

完整代码示例

from aiogram import Dispatcher, Bot
from aiogram.types import Message
from datetime import datetime, timedelta
# 假设你已经完成bot和dp的初始化:
# bot = Bot(token="你的BotToken")
# dp = Dispatcher(bot)

@dp.message_handler(commands=['creategroup'])
async def cmd_create_group(message: Message):
    # 1. 生成唯一群组名称(避免重复)
    unique_group_title = f"专属群组_{message.from_user.id}_{datetime.now().strftime('%Y%m%d%H%M%S')}"
    
    # 2. 自动创建超级群
    new_group = await bot.create_supergroup(title=unique_group_title)
    group_chat_id = new_group.id
    
    # 3. 创建带有效期和人数限制的邀请链接
    expire_time = datetime.now() + timedelta(days=1)
    invite_link = await bot.create_chat_invite_link(
        chat_id=group_chat_id,
        expire_date=int(expire_time.timestamp()),  # 需转换为整数时间戳
        member_limit=1  # 限制仅1人可通过链接加入
    )
    
    # 4. 向用户发送邀请链接
    await message.reply(f"已创建专属群组,邀请链接:\n{invite_link.invite_link}\n链接1天内有效,仅支持1人加入")

关键修改说明

  • 自动创建群组:使用bot.create_supergroup()方法直接创建超级群,无需手动提前创建。该方法返回Chat对象,从中可获取自动生成的chat_id。
  • 唯一群名称:通过结合用户ID和当前时间戳生成群名称,确保每个群组唯一,避免重复创建。
  • 修复时间戳参数:原代码中expire_date.timestamp是方法引用,需改为expire_time.timestamp()并转换为整数,否则会触发API参数错误。
  • 直接回复用户:生成链接后通过message.reply()将结果发送给发起命令的用户。

注意事项

  • Bot权限:确保你的Bot账号拥有创建超级群的权限(默认情况下Bot具备该权限,若被限制需联系Telegram支持)。
  • 普通群创建:若需创建普通群组而非超级群,可使用bot.create_new_chat()方法,但必须指定一个用户ID(如发起命令的用户)作为群成员,示例:
    new_group = await bot.create_new_chat(title=unique_group_title, user_id=message.from_user.id)
    
  • 群名称限制:Telegram群组名称最长为255字符,需确保生成的名称符合该限制。

内容的提问来源于stack exchange,提问作者WinnieNotThePooh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 00:53:56