调用情迁机器人发送微信或者QQ消息等即时通讯消息

安装环境

电脑,安卓 都行。

作用

写任何定制插件都可以实现发送qq消息和微信消息通知。

代码

常量信息



public interface MsgTypeConstant {


    String nickname = "nickname";
    String extstr="extstr";

    public final static String ACTION_MSG = "insert/msg";//表示这目录下面所有
    String AUTHORITY = "cn.qssq666.robot";
    String AUTHORITY_CONTENT = "content://" + AUTHORITY;
    public final static String ACTION_GAD = "insert/gad";//表示这目录下面所有
    public final static String ACTION_KICK = "insert/kick";
    public final static String ERROR_JSON = "{'msg':'error',code:-1}";
    String istroop = "istroop";
    String version = "version";
    String time = "time";
    String senderuin = "senderuin";
    String frienduin = "frienduin";
    String selfuin = "selfuin";
    String type = "type";
    String code = "code";
    String apptype="apptype";
    String extrajson="extrajson";
    String msg = "msg";
    int MSG_TYPE_TEXT = -1000;
    int MSG_TYPE_SHUOSHUO = -2015;
    int MSG_TYPE_PIC = -2000;
    int MSG_TYPE_PIC_WITH_TEXT = -1035;
    int MSG_TYPE_REDPACKET = -2025;
    int MSG_TYPE_REDPACKET_1 = -2500;

代码

        Uri uri = Uri.withAppendedPath(Uri.parse(MsgTypeConstant.AUTHORITY_CONTENT), “insert/msg”);
        Log.w(TAG, "sendMsg:" + uri.toString());
        ContentValues values = new ContentValues();
        values.put(MsgTypeConstant.msg, message);//消息内容
        values.put(MsgTypeConstant.nickname, nickname);//昵称
        values.put(MsgTypeConstant.time, new Date().getTime() / 1000);
        values.put(MsgTypeConstant.senderuin, senderuin);//qq号码或者微信号码
        values.put(MsgTypeConstant.selfuin, selfuin);//机器人自身的QQ号码,微信可以不填写
        values.put(MsgTypeConstant.frienduin, frienduin);//如果是群聊则是群号,否则填写QQ号码
        int MSG_TYPE_TEXT = -99999;//文本消息
        int type=MSG_TYPE_TEXT ;
        values.put(MsgTypeConstant.type, type);
        values.put(MsgTypeConstant.apptype, "test");
        values.put(MsgTypeConstant.time, new Date().getTime());
        values.put(MsgTypeConstant.istroop, istroop);//istroop =1代表群消息,否则代表私聊消息
        Uri insert = resolver.insert(uri, values);// 确保机器人已打开,正常情况下,回双向守护不会轻易宕机

代码


public class MsgHelper {
    public static Uri sendQQMsg(ContentResolver contentResolver,String robotQQ,String qq,String message){
      return   sendMsg(contentResolver,"插件",robotQQ,robotQQ,qq,message,0);
    }

    /**
     * 
     * @param contentResolver
     * @param robotQQ
     * @param qqgroup
     * @param message
     * @return
     */
    public static Uri sendQQGroupMsg(ContentResolver contentResolver,String robotQQ,String qqgroup,String message){
        /**
         * 由于是机器人自己发送消息,所以senderuin 为 机器人自身。
         */
        return   sendMsg(contentResolver,"插件",robotQQ,robotQQ,qqgroup,message,0);
    }
    public static Uri sendMsg(ContentResolver contentResolver, String nickname, String selfAccount, String account, String frienduin, String message, int istroop){
        Uri uri = Uri.withAppendedPath(Uri.parse(MsgTypeConstant.AUTHORITY_CONTENT), "insert/msg");
        ContentValues values = new ContentValues();
        values.put(MsgTypeConstant.msg, message);//消息内容
        values.put(MsgTypeConstant.nickname, nickname);//昵称
        values.put(MsgTypeConstant.time, new Date().getTime() / 1000);
        values.put(MsgTypeConstant.senderuin, account);//qq号码或者微信号码
        values.put(MsgTypeConstant.selfuin, selfAccount);//机器人自身的QQ号码,微信可以不填写
        values.put(MsgTypeConstant.frienduin, frienduin);//如果是群聊则是群号,否则填写QQ号码
        int MSG_TYPE_TEXT = -1000;//文本消息
        int type=MSG_TYPE_TEXT ;
        values.put(MsgTypeConstant.type, type);
        values.put(MsgTypeConstant.apptype, "proxy_send_msg");
        values.put(MsgTypeConstant.time, new Date().getTime());
        values.put(MsgTypeConstant.istroop, istroop);//istroop =1代表群消息,否则代表私聊消息
        Uri insert = contentResolver.insert(uri, values);// 确保机器人已打开,正常情况下,回双向守护不会轻易宕机
        return insert;
    }
}

,2.0.5理论上可以省略使用空字符串代替,而且必须使用此版本以及以上才支持。

你可能感兴趣的:(调用情迁机器人发送微信或者QQ消息等即时通讯消息)