WeChatFerry/clients/pyauto/demo.py

108 lines
3.3 KiB
Python
Vendored
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import logging
from time import sleep
from wcfauto import Register, Wcf, WxMsg
logging.basicConfig(level='DEBUG', format="%(asctime)s %(message)s")
LOG = logging.getLogger("Demo")
def main():
receiver = Register()
@receiver.message_register(isDivision=True, isGroup=True, isPyq=False)
def process_msg(bot: Wcf, msg: WxMsg):
"""
同步消息函数装饰器
"""
LOG.info(f"收到消息: {msg}")
sleep(5) # 等微信加载好,以免信息显示异常
LOG.info(f"已经登录: {True if bot.is_login() else False}")
LOG.info(f"wxid: {bot.get_self_wxid()}")
# bot.disable_recv_msg() # 当需要停止接收消息时调用
sleep(5)
ret = bot.send_text("Hello world.", "filehelper")
LOG.info(f"send_text: {ret}")
sleep(5)
# 需要确保图片路径正确,建议使用绝对路径(使用双斜杠\\
ret = bot.send_image(
"https://raw.githubusercontent.com/lich0821/WeChatFerry/master/assets/QR.jpeg", "filehelper")
LOG.info(f"send_image: {ret}")
sleep(5)
# 需要确保文件路径正确,建议使用绝对路径(使用双斜杠\\
ret = bot.send_file("https://raw.githubusercontent.com/lich0821/WeChatFerry/master/README.MD", "filehelper")
LOG.info(f"send_file: {ret}")
sleep(5)
LOG.info(f"Message types:\n{bot.get_msg_types()}")
LOG.info(f"Contacts:\n{bot.get_contacts()}")
sleep(5)
LOG.info(f"DBs:\n{bot.get_dbs()}")
LOG.info(f"Tables:\n{bot.get_tables('db')}")
LOG.info(f"Results:\n{bot.query_sql('MicroMsg.db', 'SELECT * FROM Contact LIMIT 1;')}")
# 需要真正的 V3、V4 信息
# bot.accept_new_friend("v3", "v4")
# 添加群成员,填写正确的群 ID 和成员 wxid
# ret = bot.add_chatroom_members("chatroom id", "wxid1,wxid2,wxid3,...")
# LOG.info(f"add_chatroom_members: {ret}")
# 删除群成员,填写正确的群 ID 和成员 wxid
# ret = bot.del_chatroom_members("chatroom id", "wxid1,wxid2,wxid3,...")
# LOG.info(f"add_chatroom_members: {ret}")
sleep(5)
bot.refresh_pyq(0) # 刷新朋友圈第一页
# bot.refresh_pyq(id) # 从 id 开始刷新朋友圈
@receiver.async_message_register()
async def async_process_msg(bot: Wcf, msg: WxMsg):
"""
异步消息函数装饰器
"""
print(msg)
@receiver.group_changed_register(allow_other_receive=False)
async def group_changed(bot: Wcf, msg: WxMsg):
"""
群组信息变化函数装饰器
"""
print(msg)
@receiver.revoke_message_register(allow_other_receive=False)
async def group_changed(bot: Wcf, msg: WxMsg):
"""
撤回消息函数装饰器
"""
print(msg)
print(msg.get_revoke_msg())
def judge(msg: WxMsg):
"""
消息判断函数
"""
return False
@receiver.custom_message_register(register_name='custom', msg_judge_func=judge, allow_other_receive=False)
async def group_changed(bot: Wcf, msg: WxMsg):
"""
自定义消息接收函数装饰器
"""
print(msg)
# 开始接受消息
receiver.run()
if __name__ == "__main__":
main()