日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微信聊天机器人

發(fā)布時(shí)間:2024/8/26 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信聊天机器人 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一 簡介

wxpy基于itchat,使用了 Web 微信的通訊協(xié)議,,通過大量接口優(yōu)化提升了模塊的易用性,并進(jìn)行豐富的功能擴(kuò)展。實(shí)現(xiàn)了微信登錄、收發(fā)消息、搜索好友、數(shù)據(jù)統(tǒng)計(jì)等功能。

總而言之,可用來實(shí)現(xiàn)各種微信個(gè)人號的自動化操作。(http://wxpy.readthedocs.io/zh/latest/bot.html)

安裝:wxpy 支持 Python 3.4-3.6,以及 2.7 版本

pip install -U wxpy

安裝 pillow模塊

pip install pillow

安裝 pyecharts模塊

pip install pyecharts

安裝?pyecharts_snapshot 模塊

pip? install?pyecharts_snapshot?

安裝?echarts-countries-pypkg? 模塊

?

二 登錄微信

0 、注意說明(如果運(yùn)行出現(xiàn)問題請看):

  • ?目前cache_path=True參數(shù)不穩(wěn)定,導(dǎo)致wxpy微信登錄不上,或者導(dǎo)致微信獲取不到好友列表,?如果微信登錄后出現(xiàn)問題請不要使用cache_path=True參數(shù)
  • ?微信如果報(bào)錯(cuò)內(nèi)如如下,請安裝pyecharts_snapshot模塊.
  • # 如果報(bào)錯(cuò)Traceback (most recent call last): # File "G:\Daily application\python3.6\lib\site-packages\lml\utils.py", line 43, in do_import # plugin_module = __import__(plugin_module_name) # ModuleNotFoundError: No module named 'pyecharts_snapshot'

    1 、 掃碼登錄微信

    from wxpy import *bot = Bot()

    2、cache_path=True(現(xiàn)階段版本有問題不要使用這個(gè)參數(shù))

    運(yùn)行上面的程序,會彈出二維碼,用手機(jī)微信掃一掃即可實(shí)現(xiàn)登錄。

    但上面的程序有一個(gè)缺點(diǎn),每次運(yùn)行都要掃二維碼。不過wxpy非常貼心地提供了緩存的選項(xiàng),用于將登錄信息保存下來,就不用每次都掃二維碼,如下

    bot = Bot(cache_path=True) # 必須先登錄過一次以后才可以使用緩存

    三 微信好友男女比例

    from wxpy import * from pyecharts import Pie import webbrowser bot=Bot() #注意手機(jī)確認(rèn)登錄 friends=bot.friends() #拿到所有朋友對象,放到列表里 attr=['男朋友','女朋友','未知性別'] value=[0,0,0] for friend in friends:if friend.sex == 1: # 等于1代表男性value[0]+=1elif friend.sex == 2: #等于2代表女性value[1]+=1else:value[2]+=1pie = Pie("朋友男女比例") pie.add("", attr, value, is_label_show=True) #圖表名稱str,屬性名稱list,屬性所對應(yīng)的值list,is_label_show是否現(xiàn)在標(biāo)簽 pie.render('sex.html')#生成html頁面 # 打開瀏覽器 webbrowser.open("sex.html")

    ?

    四 微信好友地域分布

    顯示中國地圖,需要裝中國地圖模塊:

    全球國家地圖: echarts-countries-pypkg (1.9MB): 世界地圖和 213 個(gè)國家,包括中國地圖
    中國省級地圖: echarts-china-provinces-pypkg (730KB):23 個(gè)省,5 個(gè)自治區(qū)
    中國市級地圖: echarts-china-cities-pypkg (3.8MB):370 個(gè)中國城市
    中國縣區(qū)級地圖: echarts-china-counties-pypkg (4.1MB):2882 個(gè)中國縣·區(qū)
    中國區(qū)域地圖: echarts-china-misc-pypkg (148KB):11 個(gè)中國區(qū)域地圖,比如華南、華北。

    特別注明,中國地圖在 echarts-countries-pypkg 里。需要這些地圖的朋友,可以裝 pip 命令行:

    $ pip3 install echarts-countries-pypkg
    $ pip3 install echarts-china-provinces-pypkg
    $ pip3 install echarts-china-cities-pypkg
    $ pip3 install echarts-china-counties-pypkg
    $ pip3 install echarts-china-misc-pypkg

    ?

    from wxpy import * from pyecharts import Map import webbrowser bot=Bot()friends=bot.friends()area_dic={}#定義一個(gè)字典,用來存放省市以及省市人數(shù) for friend in friends:if friend.province not in area_dic:area_dic[friend.province]=1else:area_dic[friend.province]+=1attr = area_dic.keys() value = area_dic.values()map = Map("好朋友們的地域分布", width=1200, height=600) map.add("好友地域分布",attr,value,maptype='china',is_visualmap=True, #結(jié)合體VisualMap ) #is_visualmap -> bool 是否使用視覺映射組件 # map.render('area.html')webbrowser.open("area.html")

    ?

    ?

    五 微信聊天機(jī)器人

    1、為微信傳輸助手傳送消息

    這里的file_helper就是微信的文件傳輸助手,我們給文件傳輸助手發(fā)送一條消息,可以在手機(jī)端的文件傳輸助手中收到括號內(nèi)的消息

    bot.file_helper.send('這個(gè)碗又大又圓 開心')

    2、收發(fā)消息@bot.register()

    from wxpy import * bot=Bot()@bot.register() def recv_send_msg(recv_msg):print('收到的消息:',recv_msg.text) # recv_msg.text取得文本return '自動回復(fù):%s' %recv_msg.text# 進(jìn)入Python命令行,讓程序保持運(yùn)行 embed()

    3、自動給老婆回復(fù)信息

    當(dāng)你在網(wǎng)吧吃著雞,操作騷出天際時(shí),你老婆打電話讓你回家吃飯,此時(shí)你怎么辦。。。

    from wxpy import * bot=Bot()girl_friend=bot.search('劉劉劉')[0] print(girl_friend)@bot.register() # 接收從指定好友發(fā)來的消息,發(fā)送者即recv_msg.sender為指定好友girl_friend def recv_send_msg(recv_msg):print('收到的消息:',recv_msg.text) # recv_msg.text取得文本if recv_msg.sender == girl_friend:recv_msg.forward(bot.file_helper,prefix='老婆留言: ') #在文件傳輸助手里留一份,方便自己忙完了回頭查看ms='老婆最美麗,我對老婆的愛如滔滔江水,連綿不絕'print('>>>給老婆回復(fù)的:', ms)return ms#給老婆回一份 embed()

    4、從微信群里定位好友之拍老板馬屁

    ?

    from wxpy import * bot=Bot(cache_path=True)company_group=bot.groups().search('群名字')[0]boss=company_group.search('老板名字')[0]@bot.register(chats=company_group) #接收從指定群發(fā)來的消息,發(fā)送者即recv_msg.sender為組 def recv_send_msg(recv_msg):print('收到的消息:',recv_msg.text)if recv_msg.member == boss:#這里不用recv_msg.render 因?yàn)閞ender是群的名字recv_msg.forward(bot.file_helper,prefix='老板發(fā)言: ')return '老板說的好有道理,深受啟發(fā)'embed()

    ?

    5、聊天機(jī)器人

    給所有人自動回復(fù)

    ?

    import json import requests from wxpy import * bot = Bot()# 調(diào)用圖靈機(jī)器人API,發(fā)送消息并獲得機(jī)器人的回復(fù) def auto_reply(text):url = "http://www.tuling123.com/openapi/api"api_key = "9df516a74fc443769b233b01eqwer42"payload = {"key": api_key,"info": text,}r = requests.post(url, data=json.dumps(payload))result = json.loads(r.content)return "[來自智能機(jī)器人] " + result["text"]@bot.register() def forward_message(msg):return auto_reply(msg.text)embed()

    ?

    給指定的群回復(fù)

    import json import requests from wxpy import * bot = Bot()group=bot.groups().search('群名字')[0] print(group)# 調(diào)用圖靈機(jī)器人API,發(fā)送消息并獲得機(jī)器人的回復(fù) def auto_reply(text):url = "http://www.tuling123.com/openapi/api"api_key = "9d602fe417464cd18beb2qwe064bee6"payload = {"key": api_key,"info": text,}r = requests.post(url, data=json.dumps(payload))result = json.loads(r.content)return "[來自智能機(jī)器人] " + result["text"]@bot.register(chats=group) def forward_message(msg):return auto_reply(msg.text)embed()

    給指定的人回復(fù)

    import requests from wxpy import * bot = Bot( cache_path=True)friend=bot.search('名字r')[0]# 調(diào)用圖靈機(jī)器人API,發(fā)送消息并獲得機(jī)器人的回復(fù) def auto_reply(text):url = "http://www.tuling123.com/openapi/api"api_key = "申請圖靈機(jī)器人獲取key值放到這里"payload = {"key": api_key,"info": text,}r = requests.post(url, data=json.dumps(payload))result = json.loads(r.content)return "[微信測試,請忽略] " + result["text"]@bot.register() def forward_message(msg):if msg.sender == friend:return auto_reply(msg.text)embed()

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/zhangmingyan/p/10695117.html

    總結(jié)

    以上是生活随笔為你收集整理的微信聊天机器人的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。