使用python定时发送消息给微信好友

    以前以为微信没有接口和python连接,但是最近发现了个库wechat_sender,然后就稍微学习了下。还不深入,写了一个简易的测试程序作为初步进入。

    需要用到的库有 threading, wxpy前者需要用到Timer这个函数,作为定时器使用。后者wxpy用到Bot函数,加载登录微信的二维码。所以需要安装这两个库,使用pip或者pycharm的设置添加库,都可以安装。

    具体实施代码,如下:可以自行扩充代码内容,这只是实现了发送的基本框架。

from threading import Timer
from wxpy import Bot

bot = Bot(cache_path='./微信登录二维码.png')
'''
加载二维码,登录进入。位置放在同目录下就行。
'''


def send_news():
   try:
        Friend = bot.friends().search(u'朋友的昵称')[0]
        '''
        这里的昵称,不是备注,不是微信号,就是原本朋友的昵称,下面的昵称也是如此。
        '''
        Friend.send(get_txt())
        # send发送的参数,是get_txt()的返回内容,就是要发送的内容。
        # 每个人要发送的不一样,这个函数就自己单独实现吧。很容易
        
        # Friend.send(u'晚安') # 这句话加的有点废话,不过也是多发条消息。
    
        t = Timer(20, send_news)
        '''
        这里有坑,之前是这样写的Timer(20,send_news('txt')),这样写的结果就是错
        第一次发送没问题,之后发送的就出现了问题,说是找不到对象,碰一次就遇到了。    
        我这个send_news()函数没有参数,如果你要加参数的话,如下这样加:
        t = Timer(20, send_news, [参数])
        '''
        t.start() 
    except:
        Friend = bot.friends().search("自己的昵称")[0]
        Friend.send(u'消息发送失败')

if __name__ == '__main__':
    t = Timer(20, send_news)
    '''
    这里也需要和send_news函数中的定时器一样的写法。
    最开始想使用while()循环,一直循环定时器,这样根本是行不通的。
    '''
    t.start()

 

你可能感兴趣的:(python)