Skip to main content

透過 Python 取得 Skype 群組的 ID

· 預估閱讀時間: 2 分鐘
Ouch Liu
不務正業的架構師

前言

最近在整理部門 Skype 機器人的程式,發現原來透過程式發送訊息給某個群組時只能透過它的 ID 來發送。

前人都是透過 Skype Web 搭配開發者工具來擷取 Group ID,我就好奇,難道沒有更聰明一點的方法嗎?

透過 Python 取得所有群組名稱與 ID

這邊可以直接透過 VSCode 進行操作,先建立一個資料夾之後,以 VSCode 開啟。

接著透過終端機(開啟終端機的熱鍵為 Ctrl + `)安裝 SkPy 這個套件:

pip3 install SkPy

接著建立一個新檔案如下:

SkypeChats.py
# 引用 skpy 套件裡的 Skype 和 SkypeChats
from skpy import Skype, SkypeChats

# 建立 Skype 連線
sk = Skype("Skype 帳號", "Skype 密碼")

# 建立對話物件
skc = SkypeChats(sk)

# 取得最近對話記錄(預設一批只會拿出 10 筆)
chats = skc.recent()

# 如果對話記錄筆數 > 0 就執行
while len(chats) > 0:

for chat in chats.values():

# 取得群組名稱
group_name = getattr(chat, 'topic', 'no attr')

# 取得群組 ID
group_id = getattr(chat, 'id', 'no id')

if group_name != 'no attr':

# 如果抓得到群組名稱的話就印出名稱和 ID
print('Group Name:', group_name, ', Group Id:', group_id)

# 取得下一批對話記錄
chats = skc.recent()

直接給它執行下去,就會把帳號有加入的所有群組名稱和 ID 都列出來囉!!

以上。