Skip to content

基于python Wechaty的微信群虚拟币报价机器人

atom-zh edited this page Aug 23, 2021 · 7 revisions

title: "基于python-Wechaty的微信群虚拟币报价机器人" author: atom-zh categories: article tags:

  • code
  • python
  • coins image: '暂无'

本项目基于python-wechaty库,通过几行代码就能实现微信机器人的基础功能。

实现功能:

群聊中加密货币的报价

  • 检索加密货币币种关键词
  • 币种匹配成功,从网络获取加密货币行情,目前支持三种平台
  • 回复加密货币行情,并@发送者

效果展示

暂无

使用步骤

1、项目配置

class Notice: # 通过IFTTT发送通知到手机,这里可以配置IFTTT的token
    EVENT_NAME = 'notice_python'
    TOKEN = '{your IFTTT TOKEN}'
    KEY = '{your notice key}'

class Zengr: # Zengr的API配置
    APP_CODE = '{your app code}}'

class PATH: # fxh币种列表
    PATH_JSON = path_root + '/coin_list.json'

class WECHAT: # wechaty token的配置
    TOKEN = '{your wechaty token}'

class CoinGK: # CoinGeCko的币种列表
    PATH_JSON = path_root + '/conin_list_cgk.json'

目前我们使用的wechaty token是官方的免费版,仅7天试用期。如果要使用长期版本的话,您可以成为wechaty的贡献者,或者花钱购买。 毕竟钱能解决的事情,都不算事情。 还有一种方式,就是使用UOS的web协议登陆,插入链接

2、主要代码

wechety.py

    text: str = msg.text()
    room: Optional[Room] = msg.room()
    if text.startswith('@Robot'):
        rev_str = text.replace(' ', '')
        symbol = rev_str.split(' ')[-1]
    else:
        symbol = text
    talker = msg.talker()
    if get_conin_seq(symbol) > 0: # get_conin_seq函数用于检查是否支持symbol币种
        await room.say(get_price(symbol), mention_ids=[talker.contact_id])

3、运行

python wechat/wechaty.py

扫码登录后,其他用户在添加了机器人的群中直接发送币种(symbol),例如(btc、eth等),稍后机器人便会发送此币种行情到微信群中,并@发送者查收。

注意

要注意一下,对于个人账户来说,币价查询访问不要太频繁,容易被服务器检测。

作者: 刘小龙,嵌入式工程师

Clone this wiki locally