discord.js - 将数字转换为 gif 表情符号
问题描述
当我使用 unicode emojis 时,尝试将数字转换为 gif emojis 没问题,但是当我写 emoji id 时,由于替换,它在 ids 中变成了 emojis。我该如何解决这个问题?
let online = guild.members.filter(m => !m.user.bot && m.user.presence.status !== "online").size;
setInterval(() => {
client.channels.get("633021183994101760").setTopic(
`Toplam Üye: ${guild.members.size}\nAktif Üye: ${online}`
.replace("0", " <a:sifir:657890675500515338>")
.replace("1", " <a:bir:657890703334178837>")
.replace("2", " <a:iki:657890720652460063>")
.replace("3", " <a:uc:657890738956140555>")
.replace("4", " <a:dort:657890757793021953>")
.replace("5", " <a:bes:657890775211704331>")
.replace("6", " <a:alti:657890790915178496>")
.replace("7", " <a:yedi:657890808183128066>")
.replace("8", " <a:sekiz:657890823664566282>")
.replace("9", " <a:dokuz:657890839632019466>")
);
}, 1000);
});```
解决方案
你应该做一个numberToEmojis()
这样的函数:
const numbers = [
"<a:sifir:657890675500515338>",
"<a:bir:657890703334178837>",
"<a:iki:657890720652460063>",
"<a:uc:657890738956140555>",
"<a:dort:657890757793021953>",
"<a:bes:657890775211704331>",
"<a:alti:657890790915178496>",
"<a:yedi:657890808183128066>",
"<a:sekiz:657890823664566282>",
"<a:dokuz:657890839632019466>"
];
function numberToEmojis(number){
let finalString = "";
String(number).split("").forEach((number) => {
finalString += " "+numbers[Number(number)];
});
return finalString;
};
let online = guild.members.filter(m => !m.user.bot && m.user.presence.status !== "online").size;
setInterval(() => {
client.channels.get("633021183994101760").setTopic(
`Toplam Üye: ${numberToEmojis(guild.members.size)}\nAktif Üye: ${numberToEmojis(online)}`
);
}, 1000);
});
推荐阅读
- scala - 如何在现有的 SBT scala 项目中互操作 kotlin 代码
- google-cloud-platform - 从 GCP Firestore 导出文档所需的最低权限
- sql - SQL如何从两列中提取不同的数据
- gitlab - 从访问令牌中获取 Gitlab 用户
- pandas - 新手问题:为什么这个索引有效?
- c# - NSubstitute.Exceptions.ReceivedCallsException:预计在单元测试时会收到调用匹配错误
- git - 为什么 git checkout 没有改变但触及文件?
- qt - 通过选择表格内容打开新窗口的运行时错误
- bash - 在 Jenkins 中启动 Docker pull 命令失败
- vim - Vim Ack, Ag:在您正在编辑的文件目录中搜索