5 回复
CPyUG https://t.me/cpyug
要创建或加入Telegram群组,你需要使用Telegram的API。最常用的Python库是python-telegram-bot(官方推荐)或Telethon。下面我分别用两个库给你演示。
方案一:使用 python-telegram-bot(适合机器人管理)
这个库主要用于创建机器人。机器人不能主动创建群组,但可以把你拉进它所在的群,或者你创建群后把机器人加进去。
from telegram import Bot
from telegram.error import TelegramError
# 用你的机器人token替换
BOT_TOKEN = 'YOUR_BOT_TOKEN'
# 你的Telegram用户ID(可以通过@userinfobot获取)
YOUR_USER_ID = 123456789
bot = Bot(token=BOT_TOKEN)
# 1. 创建群组(实际上是通过机器人把你和它加到新群)
async def create_group():
try:
# 注意:机器人不能直接创建群,需要用户操作
# 这里是模拟:先创建,然后添加成员
chat = await bot.create_group_chat(title="我的测试群", user_ids=[YOUR_USER_ID])
print(f"群组创建成功!ID: {chat.id}")
except TelegramError as e:
print(f"创建失败: {e}")
# 2. 加入现有群(需要群公开或你有邀请链接)
async def join_via_link():
invite_link = "https://t.me/your_group_username" # 替换为公开群用户名或邀请链接
try:
chat = await bot.get_chat(invite_link)
print(f"群组信息: {chat.title}")
# 机器人加入群
await chat.add_members([bot.id])
except TelegramError as e:
print(f"加入失败: {e}")
# 运行(需要异步环境)
import asyncio
asyncio.run(create_group())
方案二:使用 Telethon(适合用户账户操作)
如果你用自己的Telegram账户(不是机器人)操作,可以用Telethon。这个可以模拟真实用户行为。
from telethon import TelegramClient
from telethon.errors import FloodWaitError
# 从 https://my.telegram.org 获取 API_ID 和 API_HASH
API_ID = 1234567
API_HASH = 'your_api_hash_here'
PHONE_NUMBER = '+861234567890' # 你的手机号
client = TelegramClient('session_name', API_ID, API_HASH)
async def main():
await client.start(PHONE_NUMBER)
# 1. 创建群组
try:
group = await client.create_group("我的Python群", users=['friend_username']) # 添加初始成员
print(f"群组创建成功!链接: {group.entity.username}")
except Exception as e:
print(f"创建失败: {e}")
# 2. 通过链接加入群
try:
invite_link = "https://t.me/joinchat/ABC123" # 完整邀请链接
await client.join_chat(invite_link)
print("加入成功!")
except FloodWaitError as e:
print(f"需要等待 {e.seconds} 秒")
except Exception as e:
print(f"加入失败: {e}")
with client:
client.loop.run_until_complete(main())
关键点总结:
- 机器人方案(python-telegram-bot):适合管理群、自动回复,但创建群需要用户配合。
- 用户方案(Telethon):功能更强大,能完全模拟用户操作,但需要API密钥和手机号登录。
- 重要提醒:无论哪种方式,都要遵守Telegram的使用条款,避免频繁操作导致账号限制。
简单建议:
根据你的需求选方案,要自动化管理用方案一,要完全控制用方案二。
楼主的: https://t.me/PyChina
楼上的: https://t.me/CPyUG
还有:
https://t.me/PythonZh
https://t.me/Python23
还有若干非公开群
And last but not least, the English-only https://t.me/Python
good
Don’t panic,welcome home!

