精华内容
下载资源
问答
  • 群聊机器人

    2014-04-05 17:20:20
    群聊机器人
  • skype群聊机器人自动发送消息报警先建一个聊天群,把标题改为 报警小精灵 程序启动之后会启动一个9999的端口,然后就可以向这个端口发送消息.群里就会刷新出来.注意因为skype有限制,尽量每分钟不要超过300条.
  • 【进阶】QQ聊天机器人–群聊机器人篇 看完本篇博客,能将能做到 为你的QQ群定制一个人工智障! 使用一位大佬的框架PICQ实现更多强大的功能! 欢迎加入我的java技术交流群,点击加入,一起学习和成长 代码已经上传...

    【进阶】QQ聊天机器人–群聊机器人篇

    看完本篇博客,能将能做到

    • 为你的QQ群定制一个人工智障!
    • 使用一位大佬的框架PICQ实现更多强大的功能!

    代码已经上传到了github,可以看到更多细节(远程部署,连接数据库)

    什么是PICQ?

    picq:一个基于 酷Q HTTP 插件 的 Java QQ 机器人类库
    基于这个框架,能够很容易的实现大多数功能,开发者不用去注重底层的实现细节,而只用关注功能本身。

    话不多说,开撸

    1 导入开发框架Hydevelop/PicqBotX

    pom文件中导入项目仓库

    <repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>
    

    pom文件中导入依赖

    <dependency>
        <groupId>com.github.hydevelop</groupId>
        <artifactId>PicqBotX</artifactId>
        <version>4.12.0.1019.PRE</version>
    </dependency>
    

    如果网络不好的话,很可能出现各种失败,如果失败了不要怕,多点几次说不定就成了。博主花了两个小时才把库导入好,问题就是出在网络和本地cahe中。。翻墙或者网络好的话很快就能从jitpack.io中下载完毕。祝你好运。
    maven配置文件中镜像配置

    <mirrors>
    	<mirror>
          <id>nexus-aliyun</id>
          <name>Nexus aliyun</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>        
        </mirror>
    </mirrors>
    

    2 导入完毕,来一个最简单的helloworld

    想要在springboot启动时运行picq机器人,你需要这么做

    @Component
    //写一个组件实现ApplicationRunner接口,就能在springboot启动时运行该程序,启动picq的机器人
    public class Main implements ApplicationRunner {
        @Override
        public void run(ApplicationArguments var1) throws Exception{
            // 创建机器人对象 ( 传入配置 ) 传入上报端口:
            // 30000就是我配置的上报端口,即在酷q的Http Api中配置的post_url端口,启动后,该程序运行在哪,他post_url的ip就是多少
            PicqBotX bot = new PicqBotX(new PicqConfig(30000).setDebug(true));
    
            // 添加一个机器人账户 ( 名字, 发送URL, 发送端口 )
            //我的springboot和酷q运行在同一个机器上,酷q在docker中,所以可以通过本地ip直接访问发送端口
            //该端口的作用就是用来发送机器人的回复消息
            bot.addAccount("easier", "127.0.0.1", 6000);
    
            // 注册事件监听器, 可以注册多个监听器
            bot.getEventManager().registerListeners(
                    new RobListener()
            );
            // 启动机器人, 不会占用主线程
            bot.startBot();
        }
    }
    

    3 监听器RobListener需要自己写,继承IcqListener,监听方法要写注解@EventHandler

    public class RobListener extends IcqListener {
        private static ArtificialFool artificialFool = new ArtificialFool();
        //监听私聊信息
        @EventHandler
        //传入监听私聊事件
        public void privateMessage(EventPrivateMessage event){
            System.out.println("监听到私聊信息");
            //response就是回复,所以该功能就是把收到的消息回复回去,就是回声墙
            event.respond(event.getMessage());
        }
    }
    

    3 测试检查

    检测到端口正常工作
    在这里插入图片描述
    使用tailf命令实时查看控制台打印的消息
    在这里插入图片描述
    这就是回声墙
    在这里插入图片描述

    4 群聊机器人

    建立好了数据的连接 ,那么就可以去做要实现的功能了
    在同一个监听器中再写一个监听群聊的方法

    //监听群聊信息
        @EventHandler
        public void groupMsg(EventGroupMessage event){
            System.out.println("监听到群聊消息...");
            String answer = artificialFool.answer(event);
            if (answer!=null){
                System.out.println("-->"+answer);
                event.respond(answer);
            }
        }
    

    我把消息的处理封装成了一个方法
    人工智障类ArtificialFool

    public class ArtificialFool {
        private static Random random = new Random();
        public String answer(EventGroupMessage event){
            String message = event.message;
            if (isAt(message)){
                String trueMessage = message.substring(message.indexOf("]")+1).trim();
                System.out.println("<--"+trueMessage);
                String[] results = checkCommand(trueMessage);
                if (results!=null){
                    return results[random.nextInt(results.length)];
                }else {
                    return "小易听不懂,你可以这样对我说:\r\n"+ Arrays.toString(KeyWord.getCommands());
                }
            }
            return null;
        }
        //检验是否为私聊
        public boolean isAt(String message){
            if (message.startsWith("[CQ:at,qq=1342246315]")){
                System.out.println("群私聊");
                return true;
            }
            System.out.println("什么都没有发生");
            return false;
        }
        //检验是否为命令
    
        /**
         * 如果是命令,返回命令内容
         * 否则返回null
         */
        public String[] checkCommand(String message){
            for (String command: KeyWord.getMapProblem().keySet()){
                if (message.equals(command)){
                    return KeyWord.getMapProblem().get(command);
                }
            }
            return null;
        }
    }
    

    可以把所有的回复封装到一个类中

    public class KeyWord {
        private static String[] commands;
        public static Map<String, String[]> mapProblem;
        private static String[] iAm;
        private static String[] good;
        private static String[] signIn;
    
        static {
            commands = new String[]{
                    "签到",
                    "夸夸我",
                    "自我介绍"
            };
            iAm = new String[]{
                    "我是本群的人工智障",
                    "我是一段无情的代码....",
                    "我就是我",
            };
            good = new String[]{
                    "想得美"
            };
            signIn = new String[]{
                    "签到失败,该功能仍在开发中"
            };
            mapProblem = new LinkedHashMap<>();
            mapProblem.put("功能", commands);
            mapProblem.put("自我介绍", iAm);
            mapProblem.put("夸夸我", good);
            mapProblem.put("签到", signIn);
        }
    }
    

    在这里插入图片描述

    总结

    从想法,到去实践;从读文档,看教程,解决各种环境问题,配置问题,到最后综合自己的想法做了个还能用的人工智障。这个过程踩了许多坑,自己还是太菜,虽然是别人已经写好的框架,但是应用起来还是很困难。我觉得这个过程中,最重要的是学会如何快速的读文档,根据自己的环境去想解决办法,这些能力是很需要培养的!

    展开全文
  • 可是针对于群主个人的能力来说,别人不发言根本就不知道用户们想要什么,选择群聊机器人来帮忙会有很好效果,怎么设置群聊机器人呢?群聊机器人,在当下比较受欢迎的是小助手这款工具,成立的时间较长,已经给很多...

    c9b3c6252188c41f8d2cd60b06a077ea.png

    社群建立时间不长就不活跃了,一定要找到原因,要知道用户们为什么不发言,是不是在这个群里面得不到他们想要的,没有他们有兴趣的内容呢,只有知道了这些,才能够更好的管理社群。可是针对于群主个人的能力来说,别人不发言根本就不知道用户们想要什么,选择群聊机器人来帮忙会有很好效果,怎么设置群聊机器人呢?

    群聊机器人,在当下比较受欢迎的是小助手这款工具,成立的时间较长,已经给很多企业和用户提供了便利和帮助,那么在选择这款软件的时候,用户们是不是还特别疑惑,这款软件的功能是哪些呢?

    e12bda56b5d1f11640bdaea20305be66.png

    第一、自动回复和发信息功能

    当有新人入群的时候,群主有时候可能忙的没有看到新人进群,也不知道该做什么,也不知道这是什么样的群,就会感觉到特别的失落,好像有一种不被重视的感觉,过不了多长时间,自己就会觉得没有意思而退群。

    从这里就看得出来选择一款群聊机器人有多么的重要,机器人能够自动发欢迎用语,并且还支持文字和图片等各种方式,新人就有一种被重视的感觉,进群还要有仪式感。另外还会同时发出群规,用户进群之后就知道这个群是做什么的,有什么事情不能做,也都非常清楚了。

    第二、对群成员的管理

    一个微信群所容纳的是500个人,在这些人中有些人会利用社群的便利为自己发广告,如果群主看不到,可能自己的用户就被别人拉走了。选择群聊机器人就能够对经常打广告或者长期潜水的用户给出警告,长时间不改就会被踢出群,而且被设置为黑名单,以后再也不能够住这个群了。

    对微信社群进行管理的时候,拥有一款群聊机器人是非常有必要的,还能够对信息进行多群转发,同步进行,更方便对社群的管理和运营。

    —— END ——

    一点社群,每天收获最实战的社群技能干货。

    如果你想要0元试用群聊机器人,不妨点我了解更多!!

    展开全文
  • qq群聊机器人

    2014-06-10 21:43:26
    基于webqq的网络协议,用python写的一个聊天机器人
  • Anti-Rain Bot是一个主要为辅助游玩公主连结/少女前线的群聊机器人当然还有一堆乱七八糟的功能 功能概览 公会战管理 公会战排名查询 B站动态订阅(包括PCR国服官方) 来点色图! 切噜语翻译 进度 目前机器人只设计为...
  • 使用钉钉和企业微信的群聊机器人可以进行消息推送,这篇文章使用一个简单的脚本来说明其使用方式。

    在这里插入图片描述
    使用钉钉和企业微信的群聊机器人可以进行消息推送,这篇文章使用一个简单的脚本来说明其使用方式。

    推送消息的方法

    钉钉或者企业微信的群机器人都可提供消息推送的功能,相关的机器人的添加和消息推送的方法可以参看:

    • 企业微信:https://liumiaocn.blog.csdn.net/article/details/103733013
    • 钉钉:https://liumiaocn.blog.csdn.net/article/details/103740826

    常见的使用方法

    消息推送钉钉和企业微信都支持多种方式,以下为具体的使用示例

    • 企业微信:https://liumiaocn.blog.csdn.net/article/details/103740661
    • 钉钉:https://liumiaocn.blog.csdn.net/article/details/103750906

    通用消息推送示例代码

    liumiaocn:chatops liumiao$ cat send_message.sh 
    #!/bin/sh
    
    usage(){
    	echo "usage: $0 TYPE TITLE CONTENT [URL]"
    	echo "       TYPE: wechat|dingtalk"
    }
    
    TYPE="$1"
    TITLE="$2"
    CONTENT="$3"
    URL="$4"
    
    CHAT_CONTENT_TYPE='Content-Type: application/json'
    DEFAULT_PIC_URL="https://img-blog.csdnimg.cn/20191227152859635.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saXVtaWFvY24uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70"
    DINGTALK_DEFAULT_WORDS=" [LiuMiaoMsg]"
    if [ $# -lt 3 ]; then
      usage
      exit 1
    fi
    
    if [ _"${TYPE}" = _"wechat" ]; then
      CHAT_WEBHOOK_URL='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key'
    elif [ _"${TYPE}" = _"dingtalk" ]; then
      CHAT_WEBHOOK_URL='https://oapi.dingtalk.com/robot/send?access_token'
    else
      usage
      exit 1
    fi
    
    if [ _"${CHAT_WEBHOOK_KEY}" = _"" ]; then
      echo "please make sure CHAT_WEBHOOK_KEY has been exported as environment variable"
      usage
      exit 1
    fi
    
    if [ _"${URL}" = _"" ]; then
      URL="https://liumiaocn.blog.csdn.net/article/details/103740661"
    fi
    
    echo "## send message for : ${TYPE}"
    if [ _"${TYPE}" = _"wechat" ]; then
      curl "${CHAT_WEBHOOK_URL}=${CHAT_WEBHOOK_KEY}" \
       -H "${CHAT_CONTENT_TYPE}" \
       -d '
       {
            "msgtype": "news",
            "news": {
               "articles" : [
                  {
                      "title" : "'"${TITLE}"'",
                      "description" : "'"${CONTENT}"'",
                      "url" : "'"${URL}"'",
                      "picurl" : "'"${DEFAULT_PIC_URL}"'"
                  }
               ]
            }
       }'
    elif [ _"${TYPE}" = _"dingtalk" ]; then
      curl "${CHAT_WEBHOOK_URL}=${CHAT_WEBHOOK_KEY}" \
       -H "${CHAT_CONTENT_TYPE}" \
       -d '
       {
        "msgtype": "link", 
        "link": {
            "text": "'"${CONTENT}${DINGTALK_DEFAULT_WORDS}"'", 
            "title": "'"${TITLE}"'", 
            "picUrl": "'"${DEFAULT_PIC_URL}"'", 
            "messageUrl": "'"${URL}"'"
        }
       }'
    else
      usage
      exit 1
    fi
    liumiaocn:chatops liumiao$ 
    

    使用方法说明

    首先设定环境变量CHAT_WEBHOOK_KEY,执行命令如下

    export CHAT_WEBHOOK_KEY=钉钉机器人或者企业微信机器人的token信息

    使用示例:钉钉

    liumiaocn:chatops liumiao$ sh send_message.sh dingtalk "Greetings from Liumiao" "Nice 2 c u. Here comes a lot of words..."
    ## send message for : dingtalk
    {"errcode":0,"errmsg":"ok"}liumiaocn:chatops liumiao$
    

    结果确认
    在这里插入图片描述

    使用示例:企业微信

    liumiaocn:chatops liumiao$ sh send_message.sh wechat "Greetings from Liumiao" "Nice 2 c u. Here comes a lot of words..."
    ## send message for : wechat
    {"errcode":0,"errmsg":"ok"}liumiaocn:chatops liumiao$ 
    

    结果确认
    在这里插入图片描述
    示例脚本还可以在如下位置获取:

    • https://github.com/liumiaocn/easypack/blob/master/chatops/send_message.sh
    展开全文
  • 在微信企业版的群聊里,可以添加群聊机器人群聊机器人会开放一个https接口 通过https接口就可以用代码控制群聊机器人推送消息 本脚本实现一个番茄工作法的闹钟提醒功能 作者: 林新发 ''' import requests import ...
    '''
    在微信企业版的群聊里,可以添加群聊机器人,群聊机器人会开放一个https接口
    通过https接口就可以用代码控制群聊机器人推送消息
    本脚本实现一个番茄工作法的闹钟提醒功能
    作者: 林新发
    '''
    
    import requests
    import time
    import time,datetime
    import json
    
    # 法定节假日信息
    holiday_info = {}
    # 今年的年份,用来获取法定节假日信息
    CUR_YEAR = '2020'
    # 机器人的webhook地址
    WORK_WX_URL = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxxxxxxxxxxxxx'
    
    # 法定节假日信息
    def init_holiday_info():
        global holiday_info
        rep = requests.get('http://tool.bitefu.net/jiari/?d=' + CUR_YEAR)
        info_txt = rep.content.decode()
        holiday_info =  json.loads(info_txt)
    
    # 判断今天是否是工作日(过滤法定节假日和周末)
    def check_if_is_work_day():
        day_info = time.strftime("%m%d",time.localtime(time.time()))
    
        if day_info in holiday_info[CUR_YEAR]:
            return False
        week = datetime.datetime.now().weekday()
        if 0 <= week and 4 >= week:
            return True
        return False
    
    # 检测现在是否为上班时间:早上9:00 到 12:00,下午13:30到18:30
    def check_if_is_work_time():
        now = datetime.datetime.now()
        if now.hour >= 9 and now.hour <= 11:
            return True
        elif now.hour >= 13 and now.hour < 14 and now.minute >= 30:
            return True
        elif now.hour >= 14 and now.hour <= 17:
            return True
        elif now.hour >= 18 and now.hour < 19 and now.minute <= 30:
            return True
        
        return False
        
    # 执行hppts的post请求给微信企业版的群聊机器人    
    def post_to_wx(content):
        data = {
          "msgtype": "text",
          "text": {
            "content": content
          }
        }
        headers = {'Content-Type':'application/object'}
        jdata = json.dumps(data)
        jdata = bytes(jdata, encoding="utf8")
    
        rep = requests.post(url=WORK_WX_URL, data=jdata, headers=headers)
    
     
    def work():
        print('work')
        post_to_wx('#番茄工作法#\n25分钟工作时间\n专注工作')
        
    def rest():
        print('rest')
        post_to_wx('#番茄工作法#\n5分钟休息时间\n休息一下眼睛,喝喝水,扭扭腰')
    
    
    
    #按分钟计时
    def run(workTime,interval):
        while True:
            try:
                if check_if_is_work_day() and check_if_is_work_time():
                    work();
                    time.sleep(workTime*60) 
                    rest()
                    time.sleep(interval*60)
                else:
                    time.sleep(1)
                    print('sleep')
            except Exception as e:
                print(e)
                
    if __name__ == "__main__":
    	# 工作时间,25分钟
        workTime = 25
        # 休息时间,5分钟
        interval = 5
        
        init_holiday_info()
        run(workTime,interval)
        
    
    
    展开全文
  • 消息是保存在群聊助手机器人内部中,群内人员只需要艾特助手机器人即可查询历史消息,同时会定时清除和展示一定时间段内的历史打标消息,同时还支持手动清除和展示历史打标消息。 请基于python-wechaty制作一个群聊...
  • 点击链接填写https://wj.qq.com/s/946969/64ac群聊机器人内测邀请。按照提示填就行了 2.然后就是开启机器人了 https://qun.qq.com/qqweb/m/qun/qun_robot/setting.html?_wv=512027&_wwv=1&_bid=2537&a...
  • 据了解功能开发的三位知情人士透露:Facebook 将在 F8 开发者大会上推出一种全新的 Messenger 群聊机器人。它将能够帮助群组用户及时获知新闻资讯,比如一场体育赛事的进展和电商配送等。为了给本次推出做准备,...
  • 前言这几天我的一个小伙伴问我能不能给 ta 做一个配置灵活的微信群聊天机器人,之前了解过 itchat 库的使用,我就爽快的答应了,花了一个晚上,终于做出了雏形。 电脑上运行程序如下:? 手机上的信息如下:? 其实基于 ...
  • 简单·粗暴·好用 #-*-coding:utf-8-*- from wxpy import * bot = Bot() ompany_group = bot.groups().search('微信群名字')[0] boss = company_group.search(u'本人微信名')[0] tuling = Tuling(api_key='88f17f853...
  • 部署后将机器人拉入群聊,发送[##菜单]即可获取功能详情,当前触发关键字是##,后续会酌情更改。 抽卡的垫刀数是根据抽卡人QQ分别记录的,因此会记录QQ,群昵称以及群号,涉及部分专有信息,虽已将信息加密存储,...
  • 在企业微信群聊机器人接口对接天气API使用过程中,遇到过一个问题,就是对于嵌套json数据如何进行嵌套的|一:"msgtype": "text",curl '...
  • 一提到QQ群聊机器人,小伙伴们一定不陌生。毕竟酷Q机器人和晨风机器人插件曾风靡一时,霸占过多少QQ群啊!但这些插件虽便利,却极不稳定,经常动不动就罢工了。 腾讯爸爸听到众小伙伴们的呼声,以及近年来AI势头...
  • 本文首发于简书DIY 微信群聊机器人​...电脑上运行程序如下:手机上的信息如下:其实基于 itchat 的微信机器人早已经烂大街了,但大多数过于简单,相比较而言,我的这个程序有下面几大鲜明的特色:1、支持打开/关...
  • 免费QQ群聊机器人

    千次阅读 2014-08-22 10:47:44
    官网:http://www.tuling123.com/openapi/ 体验:http://www.tuling123.com/openapi/cloud/proexp.jsp
  • 电脑上运行程序如下:手机上的信息如下:其实基于 itchat 的微信机器人早已经烂大街了,但大多数过于简单,相比较而言,我的这个程序有下面几大鲜明的特色:支持打开/关闭指定群聊的自动回复,只需用记事...
  • 一气之下开发了个群聊机器人

    千次阅读 2021-03-23 13:44:58
    添加机器人 这里注意,测试时候发现 只有内部群才可以添加机器人,外部群无法添加 可以添加多个机器人, 也可以把一个机器人添加到多个群,该机器人发送的消息,每个群都可以收到 2.机器人代码 官方API地址参考 唯一...
  • 本文首发于简书DIY 微信群聊机器人​...电脑上运行程序如下:手机上的信息如下:其实基于 itchat 的微信机器人早已经烂大街了,但大多数过于简单,相比较而言,我的这个程序有下面几大鲜明的特色: 1、支持打开/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 428
精华内容 171
关键字:

群聊机器人