现在代码的很大一部分是我试图弄清楚我做错了什么,所以我在这里和那里打印了一些东西。
我的目标:
检索特定不和谐频道中的邮件数量,并删除所有超过10个限制的新邮件(尚未实施删除操作)
我希望这是一个事件(当前是用于测试的命令),只要成员尝试在该频道中发布消息,就会调用该事件
计划交换到on_messege事件时使用message.channel,希望我可以从那里弄清楚所有问题...
当我仅使用!numMsg调用msg计数器功能时(同时使用ctx和我自己添加通道名称,即!numMsg通道名称),该功能就起作用了
# delete new messages if 10 already exist in channel
@bot.command(name = 'test')
async def test(ctx):
print('in here')
print(ctx.channel.id)
num = await message_count(ctx.channel)
await ctx.send(num)
# msg counter
@bot.command(name = 'numMsg')
async def message_count(ctx, channel: discord.TextChannel=None):
print('in here 2')
print(channel)
channel = channel or ctx.channel
count = 0
async for _ in channel.history(limit=None):
count += 1
return count
#await ctx.send(count)
#await ctx.send("There were {} messages in {}".format(count, channel.mention))
以下是输出:
这是我稍微更改代码以确认函数本身起作用的方式:
# msg counter
@bot.command(name = 'numMsg')
async def message_count(ctx, channel: discord.TextChannel=None):
print('in here 2')
print(channel)
channel = channel or ctx.channel
count = 0
async for _ in channel.history(limit=None):
count += 1
#return count
await ctx.send(count)
#await ctx.send("There were {} messages in {}".format(count, channel.mention))