利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

本篇教大家如何用Python來實現QQ機器人,如有不足歡迎在評論方指出!

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

簡單介紹

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

安裝方法

可在 Python個版本下使用,用 pip 安裝:

pip install qqbot
利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

使用方法

一、啟動 QQBot

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

二、操作 QQBot

QQBot 啟動後,在另一個控制檯窗口使用 qq 命令來操作 QQBot ,目前提供以下命令:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

list 命令提供強大的聯繫人查詢功能,例如:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

如:

qq list group 機器人測試

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

例如:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

實現我們自己的 QQ 機器人

要實現咱們自己的QQ 機器人超級簡單,我們只要註冊一個自己的消息響應函數。代碼示範:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

假如按插件的形式加載 sample.py ,那麼這個文件的內容可以簡化成:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

QQBot 對象的接口

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

(1) bot.List(tinfo, [cinfo]) --> [contact0, contact1, ..., ]/[]/None

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

示例:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

List 接口的第一個參數 tinfo 也可以是一個 ctype 等於 'group'/'discuss' 的 QContact 對象,此時,返回的是該 群/討論組 的成員列表,如以下第二句和第三句分別返回 群“456班” 的成員列表和該群中名片為 “jack” 的成員列表:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

注意第三句不允許是 bot.List(g, card='jack') 的格式。

List 接口的內部執行順序:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

List 接口返回值的含義:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

2、 bot.SendTo(contact, content) --> '向 xx 發消息成功'/'錯誤:...'

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

(3) bot.GroupXXX(group, membs[, arg]) --> ['成功:...', '成功:...', '錯誤:...']

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

(1) bot.List(tinfo, [cinfo]) --> [contact0, contact1, ..., ]/[]/None

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

示例:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

注意上面第三句不允許是 bot.List(g, card='jack') 的格式。

List 接口的內部執行順序:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

List 接口返回值的含義:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

(2) bot.SendTo(contact, content) --> '向 xx 發消息成功'/'錯誤:...'

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

(3) bot.GroupXXX(group, membs[, arg]) --> ['成功:...', '成功:...', '錯誤:...']

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

註冊回調函數、被他人 @ 的通知、定製定時任務

註冊回調函數

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

定製定時任務

從 2.1.13 起, qqbot 中提供一個功能強大的函數裝飾器 -- QQBotSched 來定製定時任務,示例代碼:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

二維碼管理器、QQBot 配置及命令行參數

二維碼的顯示模式

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

配置文件的使用方法

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

郵箱模式的配置( mailAccount 和 mailAuthCode )

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

服務器模式的配置( httpServerIP 和 httpServerPort )

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

自動登錄的 QQ 號碼( qq )

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

掉線後自動重啟( restartOnOffline )

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

聯繫人列表更新的間歇時間( fetchInterval )

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

聯繫人列表獲取完成後再啟動( startAfterFetch )

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

QQBot-term 服務器端口號( termServerPort )

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

如:

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

文本模式顯示二維碼(cmdQrcode)

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

調試模式( debug )

若 debug 項設置為 True ,則運行過程中會打印調試信息。

需要被監視的聯繫人列表( monitorTables )

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

插件的配置( pluginPath 和 plugins )

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

命令行參數及配置的優先級

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

其中:根配置 是固定的,用戶無法修改; 默認配置 和 用戶配置 可由用戶在 v2.1.conf 文件中進行修改;最後,還可以在 命令行參數 中輸入配置。

smartqq 協議支持及限制

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

因 smartqq 協議的限制,以下問題無解決辦法

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例

利用Python的幾行代碼開發一個QQ機器人!小白也能快速上手的案例


分享到:


相關文章: