python - 我将如何检查我的机器人消息是否 <2000 字符长度
问题描述
@commands.command()
async def emojify(self, ctx, *, text):
emojis = []
for s in text.lower():
if s.isdecimal():
num2emo = {'0':'zero', '1':'one', '2':'two',
'3':'three', '4':'four', '5':'five',
'6':'six', '7':'seven', '8':'eight',
'9':'nine'}
emojis.append(f':{num2emo.get(s)}:')
elif s.isalpha():
emojis.append(f':regional_indicator_{s}:')
else:
emojis.append(s)
await ctx.send(''.join(emojis))
此命令将单词变成不和谐的表情符号(如 dank memer emojify)
我如何让它检查消息字符长度在发送之前有多长,以便它可以打印错误或继续?
解决方案
将字符串保存在变量中并使用该len()
函数获取字符数
@commands.command()
async def emojify(self, ctx, *, text):
emojis = []
for s in text.lower():
if s.isdecimal():
num2emo = {'0':'zero', '1':'one', '2':'two',
'3':'three', '4':'four', '5':'five',
'6':'six', '7':'seven', '8':'eight',
'9':'nine'}
emojis.append(f':{num2emo.get(s)}:')
elif s.isalpha():
emojis.append(f':regional_indicator_{s}:')
else:
emojis.append(s)
messageToSend = ''.join(emojis)
if len(messageToSend) < 2000:
await ctx.send(messageToSend)
else:
# error-handling
推荐阅读
- vba - 组合的 Sub Worksheet_Change(ByVal Target As Range)代码未触发
- php - 从 PHP 连接到 SQL Server 的 PDO 异常
- javascript - Javascript 书签 - 下载图片
- ruby - ruby 黄瓜自动化脚本的 Travis 中的命令“bundle exec rake”以 1 退出
- python - 如何使用 tkinter 根据复选框禁用条目?
- java - 如何在 HbaseMapReduce Job 中为表提供命名空间
- octave - 二进制数组使用 bin2dec 八度
- c++ - 从已部署的 Qt 应用程序执行 jar 文件
- type-conversion - 为 R 创建一个矩阵
- java - 如何在加密时保持视频文件的标题完整,以便我可以以加密形式播放加密文件