精华内容
下载资源
问答
  • qq消息定时发送

    2013-09-28 10:34:39
    qq消息定时发送
  • QQ消息定时发送

    2012-03-30 16:45:45
    QQ消息对话框中的控件是绘制的,所以很难找到控件句柄。刚好自己有需求,就写了一个模拟键盘的定时发送器。在QQ2012版本中测试通过。
  • python定时发送QQ消息

    2020-12-21 23:03:47
    pywin32是一个Python库,为python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制…我们这里的QQ消息发送则用到了pywin32下的窗口历遍,消息发送,剪切板等API,正式使用之前,pip安装...
  • 定时发送QQ消息

    热门讨论 2008-07-16 13:47:44
    定时发送QQ消息,QQ2008beta2适用
  • 邦宁网络工作室邦宁QQ专版定时发送器,无需登录QQ,软件登录,可定时发送QQ消息,支持多条发送,多好友发送,可用于公司QQ签到,定时祝福等。邦宁QQ专版定时发送器功能介绍:1.消
  • python定时发送qq消息

    万次阅读 2018-09-18 12:10:09
    因为生活中老是忘记各种事情,刚好又在学python,便突发奇想通过python实现提醒任务的功能(尽管TIM有定时功能),也可定时给好友、群、讨论组发送qq消息。其工作流程是:访问数据库提取最近计划——>...

    我的主页: isfantasy.com

    因为生活中老是忘记各种事情,刚好又在学python,便突发奇想通过python实现提醒任务的功能(尽管TIM有定时功能),也可定时给好友、群、讨论组发送qq消息。其工作流程是:访问数据库提取最近计划——>根据数据内容(提醒时间、提醒对象、提醒内容)设置定时任务——>给特定qq好友发送消息。

    1. 软件版本:

    软件 版本
    python 3.6.4
    pip 18.0
    qqbot 2.3.10

    2.安装依赖环境

    • pymysql安装:pip install pymysql
    • qqbot安装:pip install qqbot

    3.数据库操作

    数据库操作非常简单,跟Java类似,自己去菜鸟教程看一下基础语法就好了。

    #coding: utf-8
    import pymysql	#导入pymysql模块
    
    db = pymysql.connect("localhost","root","root","info_db" )  		#数据库链接信息
    cursor = db.cursor()
    
    #插入任务
    def insertSchedule(schedule):
        insertsql = "insert into dutyschedule_tb(worktime,name) values(%s,%s)"
        try:
    	    #这种查询语句可以防止sql注入
            cursor.execute(insertsql,(schedule['worktime'],schedule['name']))
            db.commit()
        except Exception:
            db.rollback()
            raise Exception
    
    #删除任务
    def deleteSchedule():
        deletesql = ""
        try:
            cursor.execute(deletesql)
            db.commit()
        except Exception:
            db.rollback()
    
    def updateSchedule(user):
        updatesql = ""
        try:
            cursor.execute(updatesql)
            db.commit()
        except Exception:
            db.rollback()
    
    #获取下一个任务
    def findScheduleByNewTime():
        selectsql = "SELECT * FROM dutyschedule_tb where NOW() <= date_format(worktime,'%Y-%m-%d %H:%i:%S') ORDER BY worktime ASC;"
        try:
            cursor.execute(selectsql)
            results = cursor.fetchone()
            schedule = {}
            schedule['worktime'] = results[1]
            schedule['name'] = results[2]
            schedule['content'] = results[3]
            return schedule
        except Exception:
            return None
    
    

    4.配置qqbot登陆信息

    也可以不配置,不配置的话就是每次扫码登陆,但这在Linux系统下不好用,我按说明将配置改成了每次将登陆二维码发到固定qq邮箱。qqbot模块在GitHub上,大家可以去看一下模块说明:qqbot
    配置文件默认在用户目录下的.qqbot-tmp/v2.3.conf,linux下类似

    
    {
    
        # QQBot 的配置文件
        # 使用 qqbot -u somebody 启动程序时,依次加载:
        #     根配置 -> 默认配置 -> 用户 somebody 的配置 -> 命令行参数配置
        # 使用 qqbot 启动程序时,依次加载:
        #     根配置 -> 默认配置 -> 命令行参数配置
       
    	"fantasy" : {
    	        # 这是自己创建的用户自定义配置,可以在启动qqbot启动时选择加载哪个配置文件   
            # QQBot-term (HTTP-API) 服务器端口号(该服务器监听 IP 为 127.0.0.1 )
            # 设置为 0 则不会开启本服务器(此时 qq 命令和 HTTP-API 接口都无法使用)。
            "termServerPort" : 8188,
            
            # 二维码 http 服务器 ip,请设置为公网 ip 或空字符串
            "httpServerIP" : "",
            
            # 二维码 http 服务器端口号
            "httpServerPort" : 8189,
            
            # 自动登录的 QQ 号
            "qq" : "你的qq",
            
            # 接收二维码图片的邮箱账号
            "mailAccount" : "你的邮箱",
            
            # 该邮箱的 IMAP/SMTP 服务授权码,一般在邮箱设置中有
            "mailAuthCode" : "你的授权码",
            
            # 是否以文本模式显示二维码
            "cmdQrcode" : False,
        
            # 显示/关闭调试信息
            "debug" : False,
    
            # QQBot 掉线后自动重启
            "restartOnOffline" : True,
            
            # 在后台运行 qqbot ( daemon 模式)
            "daemon": False,
            
            # 完成全部联系人列表获取之后才启动 QQBot 
            "startAfterFetch" : False,
            
            # 插件目录
            "pluginPath" : ".",
            
            # 启动时需加载的插件
            "plugins" : [],
            
            # 插件的配置(由用户自定义)
            "pluginsConf" : {},
        
        },
    	
        # 用户 somebody 的配置,这是默认配置
        "somebody" : {
            #这里的基本内容跟上面一样,就不贴出来了,太长了占地方
        
        
        },
        
        # 可以在 默认配置 中配置所有用户都通用的设置
        "默认配置" : {
            "qq" : "",
            "pluginPath" : "",
            "plugins" : [
                'qqbot.plugins.sampleslots',
                'qqbot.plugins.schedrestart',
            ],
    	    "pluginsConf" : {
    	        'qqbot.plugins.schedrestart': '8:00',
    	    }
        },
        
        # # 注意:根配置是固定的,用户无法修改(在本文件中修改根配置不会生效)
        # "根配置" : {
        #     "termServerPort" : 8188,
        #     "httpServerIP" : "",
        #     "httpServerPort" : 8189,
        #     "qq" : "",
        #     "mailAccount" : "",
        #     "mailAuthCode" : "",
        #     "cmdQrcode" : False,
        #     "debug" : False,
        #     "restartOnOffline" : False,
        #     "daemon" : False,
        #     "startAfterFetch" : False,
        #     "pluginPath" : "",
        #     "plugins" : [],
        #     "pluginsConf" : {}
        # },
    
    }
    
    

    6. 自定义功能

    from qqbot import _bot as bot
    
    #登陆qq,使用配置文件为fantasy
    bot.Login(['-u','fantasy'])
    
    #自定义函数,用来进一步封装qqbot接口
    #获取所有好友列表
    def getBuddyByName(nickname):
        return bot.List('buddy',nickname)
    
    #获取所有群列表
    def getGroupByName(groupname):
        return bot.List('group',groupname)
    
    #给备注(没用备注就是昵称)为nickname的好友发送content消息
    def sendToNickname(nickname,content):
        user = getBuddyByName(nickname)
        if user:
            bot.SendTo(user[0],content)
        else:
            print("未找到联系人:"+nickname)
    
    

    7.入口主程序

    #coding: utf-8
    import time
    import sched
    import datetime
    from Dao.DutyscheduleDao import *
    from Utils.QQInterface import *
    #sched是python的定时任务模块
    
    
    schedule = sched.scheduler(time.time, time.sleep)
    #从数据库获取第一个任务
    newschedule = findScheduleByNewTime()
    
    #返回距下次任务还有多少秒
    def getSeconds():
        #申明全局变量
        global newschedule
        newschedule = findScheduleByNewTime()
        if newschedule:
            return (newschedule['worktime'] - datetime.datetime.now()).total_seconds()
        else:
            print("所有任务执行完毕,退出程序……")
            exit()
    
    #发消息函数
    def SendTo():
        global newschedule
        sendToNickname(newschedule['name'],newschedule['content'])
    
    #中间函数,用于循环运行所有数据库未执行事件
    def perform():
        SendTo()
        #睡眠5秒,不然可能会重复发送消息
        time.sleep(5)
        sleepSecond = getSeconds()
        print("下次任务执行时间:"+str(newschedule['worktime']))
        #这次任务执行完后添加新任务
        schedule.enter(sleepSecond,1,perform,())
    
    
    def run():
        #1.获取数据库最近将执行任务的时间及姓名
        #2.计算执行任务的时间与现在时间的差值(单位:秒)
        sleepSecond = getSeconds()
        print("下次通知:"+str(newschedule['worktime']))
        #3.加入定时处理函数
        schedule.enter(sleepSecond,1,perform,())
        #4.执行定时任务
        schedule.run()
    
    if __name__ == '__main__':
        run()
    

    8.其它

    数据库结构:

    drop database if exists info_db;
    create database info_db default character set utf8;
    
    use info_db;
    create table dutyschedule_tb(
    	id int(11) auto_increment primary key,
    	worktime timestamp not null,
    	name varchar(10) not null,
    	content varchar(100) not null
    )engine=InnoDB auto_increment=1 default charset=utf8;
    

    以上就是循环发送qq消息的代码,以下是项目目录结构,其中一些没有出现的文件是自己测试所用,可以不用关心:
    在这里插入图片描述

    效果图:
    在这里插入图片描述
    在这里插入图片描述

    总结:基本功能完成了,但是操作不够友好,需要手动往数据库录入数据,之后准备做一个数据管理的前端配合使用,可以简化很多操作。有什么问题欢迎讨论

    展开全文
  • 主要为大家详细介绍了python实现定时发送qq消息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • python 给QQ好友定时发送消息

    千次阅读 2020-05-15 00:20:00
    python 给QQ好友定时发送消息前言初衷代码效果后记参考资料 前言 在小编的上一篇python文章中提到了关于微信或者QQ消息“轰炸”(其实我是想你也去看看,23333 [狗头保命]),那是简单版本,今天我要讲的是,发送...

    python 给QQ好友定时发送消息

    前言

    在小编的上一篇python文章中提到了关于微信或者QQ的消息“轰炸”(其实我是想你也去看看,23333 [狗头保命]),那是简单版本,今天我要讲的是,发送消息定时任务的结合体。

    初衷

    看到网上有很多大神用python给女友每天给女朋友发送“糖衣炮弹”,我酸了(给自己一个大嘴巴子,在码代码的时候怎么能想这些,再说了,我的对象千千万,new一个对象就有了,哈哈哈),作为一个程序猿我想实现这一功能,准备工作:

    1. python3+ ,开发环境;
    2. 安装 pywin32 , pip install pywin32 用于控制window应用;
    3. 安装 requests , pip install requests 这个模块是用来网上找“糖衣炮弹”;
    4. 安装 APScheduler , pip install APScheduler 用于定时任务;
    5. 安装fake-useragent, pipi install fake-useragent 这个用于网上抓取伪装header 里面的User_Agent(爬虫常用);
    6. 网上的“糖衣炮弹”资源,小编用的青云客机器人(api免费)查询天气;

    代码

    1. 此版本是用的QQ对话测试的,需要将聊天对象对话框,单独出来(现在版本的QQ都是多个对话框在一起的)
    # !user/bin/env/python3
    # -*- coding:utf-8 -*-
    
    __author__ = 'heyu<18781085152@163.com>'
    __date__ = '2020/5/14'
    
    import win32gui
    import win32con
    import win32clipboard as w
    import requests,re,time
    from fake_useragent import UserAgent
    from apscheduler.schedulers.blocking import BlockingScheduler
    
    '''添加剪切板文本'''
    def setText(string):
        w.OpenClipboard() 
        w.EmptyClipboard()
        w.SetClipboardData(win32con.CF_UNICODETEXT,string)
        w.CloseClipboard()
    
    '''执行发送操作'''
    '''
        to:QQ消息接收人;
        msg:需要发送的消息
    '''
    def sendMsg(to,msg):
        setText(msg)
        qq = win32gui.FindWindow(None,to)
        win32gui.SendMessage(qq,258,22,2080193)
        win32gui.SendMessage(qq,770,0,0)
        win32gui.SendMessage(qq,win32con.WM_KEYDOWN,win32con.VK_RETURN,0) # 控制按键,按下
        win32gui.SendMessage(qq,win32con.WM_KEYUP,win32con.VK_RETURN,0) # 控制按键,放松
    
    '''青云客机器人(免费api)'''
    def qyk(msg):
        url = 'http://api.qingyunke.com/api.php?key=free&appid=0&msg=' + msg
        ua = UserAgent()
        headers = {
            'User_Agent': ua.random # 伪装User_Agent信息
        }
        response = requests.get(url=url,headers = headers)
        response.encoding = 'utf-8'
        text = response.text
        info = re.findall(r'\"\[.*?\"',text)
        weather = info[0].replace('"','')
        return weather
    
    '''定时任务'''
    def timingJob(to,msg):
        scheduler = BlockingScheduler() # 创建调度器
        scheduler.add_job(sendMsg,'interval',seconds=30,args = [to,msg]) # interval间隔,10s
        # scheduler.add_job(sendMsg,'cron',hour='22-23',minute='49',second='*/10',args = [to,msg]) # cron定时,10s
        scheduler.start() # 开启定时任务
    
    if __name__ == '__main__':
        to = input('请填写解接收人QQ :')
        msg = qyk('重庆天气')
        timingJob(to,msg)
    
    

    效果

    在这里插入图片描述

    后记

    青云客的机器人是个“智障”,目前应该还是测试收集数据阶段,所以有很多逻辑不全面(不然怎么是免费的呢,还是给青云客的机器人开发人员点个赞)

    展开全文
  • 转载自https://github.com/AlanIIE/auto-send-message
    展开全文
  • 安装环境 python 3.5 PyQt5==5.15.1 pywin32==228 代码 很多人学习python,不知道从何学起。...很多人学习python,掌握了基本...思路:将要发送的内容保存到剪切板,激活相应的窗口,再使用C-v黏贴到窗口中,A-s发送

    安装环境

    python 3.5
    PyQt5==5.15.1
    pywin32==228

    代码

    很多人学习python,不知道从何学起。
    很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
    很多已经做案例的人,却不知道如何去学习更加高深的知识。
    那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
    QQ群:623406465

    目的:按时提交英语作业
    思路:将要发送的内容保存到剪切板,激活相应的窗口,再使用C-v黏贴到窗口中,A-s发送出去。
    发送文字消息时,可以将文字先保存在文件message.txt中,文件内容举例:

    嗯嗯?
    2022的话 这个就比较赞了
    那我可以考虑换个笔记本了
    出个新版本就换本子?什么情况
    怕卡
    [群签到]请使用新版QQ进行查看。
    早
    早上好
    大家好
    以前哪个win10下载器谁有吗
    去i tell you下

    注意:

    1. 仅适用于windows系统
    2. QQ、微信发送窗口要打开,不能最小化,但是可以不在最上面一层(即,可以在没有被激活的状态)
    3. 不可以用于微信、QQ消息轰炸等危险用途,一切问题后果自负
    import win32con
    import win32gui, win32api
    import win32clipboard as w
    import time
    from random import choice
    from PyQt5 import QtCore,QtWidgets
    from datetime import datetime
    import time
    
    class sendMsg():
        def __init__(self,receiver,msg):
            self.receiver=receiver
            self.msg=msg
    
        def winUpLoadFile(self):
            # 将文件复制到剪切板
            app = QtWidgets.QApplication([])
            data = QtCore.QMimeData()
            url = QtCore.QUrl.fromLocalFile(self.msg)
            data.setUrls([url])
            app.clipboard().setMimeData(data)
            clipboard = QtWidgets.QApplication.clipboard()
            
            self.sendmsg()
        
        def sendText(self):
            #设置剪贴版内容
            w.OpenClipboard()
            w.EmptyClipboard()
            w.SetClipboardData(win32con.CF_UNICODETEXT, self.msg)
            w.CloseClipboard()
    
    		self.sendmsg()
        #发送消息
        def sendmsg(self):
            qq=win32gui.FindWindow(None,self.receiver)
            win32gui.GetClassName(qq)  # 获取窗口classname
            title = win32gui.GetWindowText(qq)  # 获取窗口标题
            win32gui.GetDlgCtrlID(qq)
            win32gui.SetForegroundWindow(qq)  # 激活窗口
    
    		#粘贴内容
            win32api.keybd_event(17, 0, 0, 0)  # ctrl键位码是17
            win32api.keybd_event(86, 0, 0, 0)  # v键位码是86
            win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放按键
            win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
    
    		#发送内容
            win32api.keybd_event(18, 0, 0, 0)  # Alt
            win32api.keybd_event(83, 0, 0, 0)  # s
            win32api.keybd_event(83, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放按键
            win32api.keybd_event(18, 0, win32con.KEYEVENTF_KEYUP, 0)
    
            print("sucessfuly send",self.msg)
    
    # 从文件中读取文字
    def getmessage(fileName):
        f=open(fileName,'r',encoding='utf-8')
        lines=f.readlines()
        f.close()
        return choice(lines)
    
    def main():
        receiver='测试群聊'#这里填入接收者的备注名 
        date_sche = 17 # 17日
        time_sche = 15 # 15时。需要更精确的时间可以调整后面的if条件以及sleep时间
        while True:
            date_now = datetime.now()
            if date_now.day == date_sche and date_now.hour == time_sche:
            	# msg = getmessage('message.txt') # 设置消息
            	filename = 'G:\\Users\\1\\Desktop\\英语作业.docx' # 设置文件
                qq=sendMsg(receiver, filename)
                # qq.sendText() # 发送消息
                qq.winUpLoadFile() # 发送文件
            time.sleep(3600)
    
    if __name__ == '__main__':
        main()

     

    展开全文
  • 具体步骤如下:1、打开手机QQ软件,然后找到需要发送QQ消息提醒的好友;2、打开与好友的聊天窗口界面,点击“+”按钮;3、找到“提醒”功能选项,并点击该选项;4、然后输入消息提醒内容,设置好提醒的时间,最后...
  • vbs定时自动发送qq消息

    千次阅读 2020-02-09 13:28:37
    1.首先保证腾讯qq在线,然后给指定qq好友和群组设置快捷方式,见下图: 2.编写vbs代码:(1)新建文本文档,命名为"QQautosend.vbs";(2)右击当前文件,点击"编辑",编写如下代码: Set WshShell=WScript....
  • 循环定时qq对话框中发送消息

    千次阅读 2018-10-21 03:29:57
    qq中重复发消息,利用网上的操作代码,自己定义了一个类,用多线程和定时实现对一个qq弹窗循环定时消息。https://github.com/Wn-Dev/qq_send_messages # 原理是先将需要发送的文本放到剪贴板中,然后将剪贴板...
  • c++实现定时qq好友发送消息

    千次阅读 多人点赞 2020-08-25 20:30:16
    今天闲来无事突然想qq只能即时发送消息,能不能够使用其他的程序来控制qq发送指定的程序呢,后来参考了部分资料才发现,可以先通过获得qq的聊天窗口的句柄,然后通过模拟按键来实现qq消息的模拟发送。 ...
  • vbs脚本实现qq定时消息(初级)

    千次阅读 2018-12-16 23:02:00
    vbs脚本实现QQ消息定时发送 目标 批处理又称为批处理脚本,强大的强大功能可以高效得实现很多功能,例如批量更改文件格式,批量进行文件读写,今天我们的目标是用vbs脚本编写可以发送qq消息的脚本,并利用c++程序,...
  • 用于给某人发送简单信息 github连接自取link

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 196
精华内容 78
关键字:

qq消息定时发送