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))
    • 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:
      编码处理后的字符串
    • 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(String uin, String name, List<?> contents)
      兼容 Lagrange 生成自定义合并转发消息
      Parameters:
      contents - 消息列表,每个元素视为一个消息节点 Object 可为 List 或 CQCode
      Returns:
      消息结构
    • generateSingleMsg

      public static Map<String,Object> generateSingleMsg(long uin, String name, String msg)
      生成自定义合并转发消息的单条内容
      Parameters:
      uin - 指定QQ号,用于头像的显示
      name - 指定的显示的QQ昵称
      msg - 消息内容
      Returns:
      消息结构

      使用 Bot.sendGroupForwardMsg(long, List, String, String, String, List)和Bot.sendPrivateForwardMsg(long, List, String, String, String, List)来发送生成后的聊天记录

    • generateForwardMsg

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

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