Class ShiroUtils

java.lang.Object
com.mikuac.shiro.common.utils.ShiroUtils

public class ShiroUtils extends Object
Created on 2021/8/10.
  • Method Details

    • isAtAll

      public static boolean isAtAll(String msg)
      判断是否为全体at
      Parameters:
      msg - 消息
      Returns:
      是否为全体at
    • isAtAll

      public static boolean isAtAll(List<ArrayMsg> arrayMsg)
      判断是否为全体at
      Parameters:
      arrayMsg - 消息链
      Returns:
      是否为全体at
    • getAtList

      public static List<Long> getAtList(List<ArrayMsg> arrayMsg)
      获取消息内所有at对象账号(不包含全体 at)
      Parameters:
      arrayMsg - 消息链
      Returns:
      at对象列表
    • getMsgImgUrlList

      public static List<String> getMsgImgUrlList(List<ArrayMsg> arrayMsg)
      获取消息内所有图片链接
      Parameters:
      arrayMsg - 消息链
      Returns:
      图片链接列表
    • getMsgVideoUrlList

      public static List<String> getMsgVideoUrlList(List<ArrayMsg> arrayMsg)
      获取消息内所有视频链接
      Parameters:
      arrayMsg - 消息链
      Returns:
      视频链接列表
    • getGroupAvatar

      public static String getGroupAvatar(long groupId, int size)
      获取群头像
      Parameters:
      groupId - 群号
      size - 头像尺寸
      Returns:
      头像链接 (size为0返回真实大小, 40(40*40), 100(100*100), 640(640*640))
    • getNickname

      @Deprecated(since="2.1.3") public static String getNickname(long userId)
      Deprecated.
      获取用户昵称 该接口已经无法使用
      Parameters:
      userId - QQ号
      Returns:
      用户昵称
    • getUserAvatar

      public static String getUserAvatar(long userId, int size)
      获取用户头像
      Parameters:
      userId - QQ号
      size - 头像尺寸
      Returns:
      头像链接 (size为0返回真实大小, 40(40*40), 100(100*100), 640(640*640))
    • unescape

      public static String unescape(String string)
      消息解码
      Parameters:
      string - 需要解码的内容
      Returns:
      解码处理后的字符串
    • escape

      public static String escape(String string)
      消息编码
      Parameters:
      string - 需要编码的内容
      Returns:
      编码处理后的字符串
    • escape2

      public static String escape2(String string)
      消息编码(可用于转义CQ码,防止文本注入)
      Parameters:
      string - 需要编码的内容
      Returns:
      编码处理后的字符串
    • rawToArrayMsg

      public static List<ArrayMsg> rawToArrayMsg(@NonNull @NonNull String msg)
      string 消息上报转消息链 建议传入 event.getMessage 而非 event.getRawMessage 例如 go-cq-http rawMessage 不包含图片 url
      Parameters:
      msg - 需要修改客户端消息上报类型为 string
      Returns:
      消息链
    • rawConvert

      public static void rawConvert(@NonNull @NonNull String msg, MessageEvent event)
    • arrayMsgToCode

      public static String arrayMsgToCode(ArrayMsg arrayMsg)
      从 ArrayMsg 生成 CQ Code
      Parameters:
      arrayMsg - ArrayMsg
      Returns:
      CQ Code
    • arrayMsgToCode

      public static String arrayMsgToCode(List<ArrayMsg> arrayMsgs)
      从 List 生成 CQ Code
      Parameters:
      arrayMsgs - ArrayMsg
      Returns:
      CQ Code
    • generateForwardMsg

      public static List<Map<String,Object>> generateForwardMsg(long uin, String name, List<String> contents)
      创建自定义消息合并转发
      Parameters:
      uin - 发送者QQ号
      name - 发送者显示名字
      contents - 消息列表,每个元素视为一个消息节点 参考文档
      Returns:
      消息结构
    • generateForwardMsg

      public static List<Map<String,Object>> generateForwardMsg(List<String> contents)
      兼容 Shamrock 生成自定义合并转发消息
      Parameters:
      contents - 消息列表,每个元素视为一个消息节点
      Returns:
      消息结构
    • generateForwardMsg

      public static List<Map<String,Object>> generateForwardMsg(List<String> contents, List<String> quoteMsgId)
      兼容 Shamrock 生成引用消息和自定义消息混合合并转发
      Parameters:
      contents - 消息列表,每个元素视为一个消息节点
      quoteMsgId - 引用的消息ID
      Returns:
      消息结构