Skip to content

/斜眼笑(Formatter

WARNING

虽然 mirai 支持商城表情,但是 mirai-api-http 不支持!
mirai-api-http 已在 2.5.0 版本支持且 graia-ariadne 也在 0.5.3 提供了支持。
注意:仅支持接收,不支持发送!

TIP

你知道吗,这章很水

想必大家在 QQ 聊天的时候,或多或少都会用到 QQ 的一些表情包(如 滑稽Doge )。不可否认,这些 QQ 自带的表情符号已经成为 QQ 日常交流中不可缺少的一部分。

不过,当你想要通过 Ariadne 来构造这样充满表情符号的句子时,问题就大的去了:

你的目标:

EroEroBot
来点涩图Doge

你的构造:

python
MessageChain("来点涩图", Face(277))
1

这还算比较好的,但要是你想做到下面的效果呢?

EroEroBot
在新的一年里,祝你
DogeDogeDoge
DogeDogeDoge

你的构造:

python
MessageChain(
    "在新的一年里,祝你\n",  # 这里有没有逗号均可
    "身", Face(277), "体", Face(277), "健", Face(277), "康\n",  # 这里有没有逗号均可
    "万", Face(277), "事", Face(277), "如", Face(277), "意\n",  # 这里有没有逗号均可
)
1
2
3
4
5

牙白,牙白,红豆泥牙白 desu 捏~ 那该怎么办好呢?

当然有有办法!

所以 Formatter 是什么?

通俗来讲,Formatter 差不多就是一个给 MessasgeChain 用的 str.format,使用方法如下:

python
from graia.ariadne.message.formatter import Formatter

Formatter(
    "在新的一年里,祝你\n"  # 注意这里没有逗号,等于上下两个字符串直接连在一起
    "身{doge}{doge}{doge}\n"  # 注意这里没有逗号
    "万{doge}{doge}{doge}意").format(doge=Face(277)
)
1
2
3
4
5
6
7

你看这样子是不是方便多了?

Tip:

本文档使用 CC BY-NC-SA 4.0 协议进行共享,详情见 README

MIT License