所以我想制作一个在特定时间(例如:22:30)执行某些功能的不和谐机器人,虽然不是 22:30,但我想让机器人像往常一样工作,接收消息,发送等等。
import someFile
import discord
import responses
from discord.ext import commands
def run_discord_bot():
TOKEN = ''
intents = discord.Intents.all()
client = discord.Client(command_prefix="-", intents = intents)
if time == specificTime:
someFile.someFunction() #run this file at specific time
else: #run bot as usual
@client.event
async def on_ready():
print(f'{client.user} is now running!')
@client.event
async def on_message(message):
if message.author == client.user:
return
username = str(message.author)
user_message = str(message.content)
channel = str(message.channel)
print(f'{username} said: {user_message} ({channel})')
await send_message(message, user_message, is_private=True)
client.run(TOKEN)
有什么办法可以做到吗?我在谷歌上确实找不到任何解决方案......
import someFile
import discord
from discord.ext import commands
from apscheduler.schedulers.asyncio import AsyncIOScheduler
import asyncio
def run_discord_bot():
TOKEN = ''
intents = discord.Intents.all()
client = discord.Client(command_prefix="-", intents=intents)
scheduler = AsyncIOScheduler()
async def job():
#Function...
# Schedule the job to run at 22:30
scheduler.add_job(job, 'cron', hour=22, minute=30)
@client.event
async def on_ready():
print(f'{client.user} is now running!')
@client.event
async def on_message(message):
if message.author == client.user:
return
username = str(message.author)
user_message = str(message.content)
channel = str(message.channel)
print(f'{username} said: {user_message} ({channel})')
await send_message(message, user_message, is_private=True)
client.run(TOKEN)
try:
scheduler.start()
asyncio.get_event_loop().run_forever()
except (KeyboardInterrupt, SystemExit):
scheduler.shutdown()