// NEURAL NETWORK IDENTIFIER v2.0 //
初始化 Python 環境,建立與 Telegram API 的加密全息鏈結。
將 Bot 邀請至目標群組,自動偵測並綁定該通訊節點。
實時監控 my_chat_member 事件流,捕捉任何權限變動訊號。
核心模組自動解析群組唯一標識符與元數據內容。
系統自動繞過群組雜訊,將分析結果私訊至管理員終端。
import logging
from telegram import Update
from telegram.ext import Application, ContextTypes, ChatMemberHandler
# 請替換成你的 Bot Token(從 @BotFather 取得)
TOKEN = ""
# 啟用 logging,方便除錯
logging.basicConfig(
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO
)
logger = logging.getLogger(__name__)
async def my_chat_member_handler(update: Update, context: ContextTypes.DEFAULT_TYPE):
"""
處理 bot 自身在群組的狀態變化(被加入或移除)
"""
chat_member_update = update.my_chat_member
if chat_member_update is None:
return
old_status = chat_member_update.old_chat_member.status
new_status = chat_member_update.new_chat_member.status
# 偵測 bot 被加入群組
if old_status in ("left", "kicked", "banned") and new_status in ("member", "administrator", "creator"):
chat = chat_member_update.chat
# 只處理群組或超級群組
if chat.type in ("group", "supergroup"):
group_title = chat.title or "未知群組名稱"
group_id = chat.id
# 取得把 bot 拉進群組的人
adder = chat_member_update.from_user
adder_name = adder.full_name or adder.username or "未知使用者"
message = (
f"謝謝你把我拉進新群組!\n\n"
f"群組名稱:{group_title}\n"
f"群組 ID:{group_id}"
)
# 私訊給拉 bot 的人
try:
await context.bot.send_message(chat_id=adder.id, text=message)
logger.info(f"已成功私訊群組資訊給 {adder_name} ({adder.id})")
except Exception as e:
logger.error(f"無法私訊給 {adder_name} ({adder.id}): {e}")
# 常見原因:對方還沒和 bot 開啟私人對話(先跟 bot 說 hi 就能解決)
def main():
"""啟動 Bot"""
application = Application.builder().token(TOKEN).build()
# 正確註冊:第二個參數直接傳 ChatMemberHandler.MY_CHAT_MEMBER
application.add_handler(
ChatMemberHandler(my_chat_member_handler, ChatMemberHandler.MY_CHAT_MEMBER)
)
print("Bot 正在啟動...")
print("把 Bot 拉進任何群組,即可測試功能(你會收到私訊包含群組名稱與 ID)")
application.run_polling(allowed_updates=Update.ALL_TYPES)
if __name__ == "__main__":
main()