pandolia / qqbot

QQBot: A conversation robot base on Tencent's SmartQQ
Other
3.68k stars 877 forks source link

请教获取信息的属性问题 #111

Closed zhanghdong closed 7 years ago

zhanghdong commented 7 years ago
@qqbotslot
def onQQMessage(bot, contact, member, content):
    # 当收到 QQ 消息时被调用
    # bot     : QQBot 对象,提供 List/SendTo/Stop/Restart 四个接口,详见文档第五节
    # contact : QContact 对象,消息的发送者,具有 ctype/qq/uin/name/nick/mark/card/role 等属性
    # member  : QContact 对象,仅当本消息为 群或讨论组 消息时有效,代表实际发消息的成员
    # content : str 对象,消息内容
    if content == '--version':
        bot.SendTo(contact, 'QQbot-' + bot.conf.version)

以上是说明文档里的相关说明,以下是我的实例:

@qqbotslot
def onQQMessage(bot, contact, member, content):
    print (bot)
    print (contact)
    print(member)
    print(content)

以下是返回的结果:

<qqbot.qqbotcls.QQBot object at 0x00000000028D8908>
群“wodequn”
成员“爱馨...”
ff

请问结果的第二行:群“wodequn”,默认返回的是ctype/qq/uin/name/nick/mark/card/role其中的一个属性嘛??

如果不是的话,请问contact 里的这些属性ctype/qq/uin/name/nick/mark/card/role是怎么使用的??怎么影响返回结果??

本人初学PYTHON,如有不妥之处见笑啦。

pandolia commented 7 years ago

第二行返回的是 contact.__str__() 的结果。其他属性直接用obj.attr 的格式访问就可以了,比如contact.qq是他的QQ号。 但是要注意,contact是一个只读对象,不要尝试给它的属性赋值。 另外你可能需要先学习一下python的语法,推荐廖雪峰的python教程,百度上搜一下就可以

zhanghdong commented 7 years ago

本人刚学编程,基础太弱。。多谢指导。。

zhanghdong commented 7 years ago

最近有个想法,就是用qqbot抓取工作群里的管理员或者需要关注的人,发的信息同步到微信群里。需要结合wxpy。 已经实现的项目:实时爬取公司主页的通知公告结合wxpy和mongdb同步到微信群。