gpt4 book ai didi

python - .logs_from() 操作的 after 属性值应该如何格式化?

转载 作者:太空宇宙 更新时间:2023-11-03 14:47:50 26 4
gpt4 key购买 nike

我正在尝试从我的机​​器人有权访问的所有 channel 检索今天(如脚本运行当天)发送的所有消息的迭代。

就目前情况而言,我一直在尝试使用 .logs_from()after 属性,但是我似乎无法让它按照我希望的方式运行:

import discord
import asyncio
import time

client = discord.Client()

today = time.strftime("%Y-%m-%d")

@client.event
async def on_ready():
for i in client.get_all_channels():
async for c in client.logs_from(i, after=today):
print(c.content)

client.run(INSERT_SESSION_KEY)

运行此命令似乎只是输出我的机器人有权访问的 channel 中的所有消息的列表。我假设我输入的 after 值的格式不正确,但文档仅指出:

after (Message or datetime) – The message or date after which all returned messages must be. If a date is provided it must be a timezone-naive datetime representing UTC time.

我的印象是我正在做的事情。

有谁能建议声明 .logs_from()after 属性值的正确方法是什么?

最佳答案

感谢https://stackoverflow.com/users/8360823/squaswin的建议。感谢https://stackoverflow.com/users/131187/bill-bell用于指出 UTC 时区差异。

使用datetime而不是time似乎可以按要求工作。

见下文:

import discord
import asyncio
import datetime

client = discord.Client()

@client.event
async def on_ready():
for i in client.get_all_channels():
async for c in client.logs_from(i, after=date.today()):
print(c.content)

client.run(INSERT_SESSION_KEY)

上面返回今天发送的所有消息。

要包含一天中的特定时间,请使用以下作品:

import discord
import asyncio
import datetime

client = discord.Client()

@client.event
async def on_ready():
for i in client.get_all_channels():
async for c in client.logs_from(i, after=datetime.now()):
print(c.content)

client.run(INSERT_SESSION_KEY)

但是上面两个都返回当前时区,要获取 UTC 中的当前日期,您可以使用以下命令:

import discord
import asyncio
import datetime

client = discord.Client()

@client.event
async def on_ready():
for i in client.get_all_channels():
async for c in client.logs_from(i, after=datetime.utcnow().date()):
print(c.content)

client.run(INSERT_SESSION_KEY)

关于python - .logs_from() 操作的 after 属性值应该如何格式化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46113340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com