如何使用discord.net v0.9.6在c#中每隔24小时重复一次discord命令?
如何将命令设置为每24小时自动重复一次如何使用discord.net v0.9.6在c#中每隔24小时重复一次discord命令?,c#,discord,discord.net,C#,Discord,Discord.net,如何将命令设置为每24小时自动重复一次 private void RegisterMemeCommand() { commands.CreateCommand("meme") .Do(async (e) => { int randomMemeIndex = rand.Next(FullmetalMemes.Length); string memeToPos
private void RegisterMemeCommand()
{
commands.CreateCommand("meme")
.Do(async (e) =>
{
int randomMemeIndex = rand.Next(FullmetalMemes.Length);
string memeToPost = FullmetalMemes[randomMemeIndex];
await e.Channel.SendFile(memeToPost);
});
}
我每天中午都试图让它自己执行,而不必进入我的discord并键入meme。您不需要创建命令。您可以直接将消息发送到具有其id的频道
private void RegisterMemeCommand()
{
commands.CreateCommand("meme")
.Do(async (e) =>
{
int randomMemeIndex = rand.Next(FullmetalMemes.Length);
string memeToPost = FullmetalMemes[randomMemeIndex];
await e.Channel.SendFile(memeToPost);
});
}
示例代码:
private void RegisterMemeCommand()
{
commands.CreateCommand("meme")
.Do(async (e) =>
{
int randomMemeIndex = rand.Next(FullmetalMemes.Length);
string memeToPost = FullmetalMemes[randomMemeIndex];
await e.Channel.SendFile(memeToPost);
});
}
const ulong serverId = 38297389272897UL; // the id of your server
const ulong channelId = 78346982689343UL; // the id of the channel
Server findServer(ulong id)
{
foreach(Server server in discord.Servers) // discord is your DiscorClient instance
{
if (server.Id == serverId)
return server;
}
return null;
}
Channel findTextChannel(Server server, ulong id)
{
foreach(Channel channel in server.TextChannels)
{
if (channel.Id == channelId)
return channel;
}
return null;
}
private Channel channel;
private System.Threading.Timer timer;
void load()
{
Server server = findServer(serverId);
if (server != null)
{
channel = findTextChannel(server, channelId);
if (channel != null)
timer = new System.Threading.Timer(send, null, 0, 1000 * 60 * 60 * 24); // 24 hour interval
}
}
void send(object state)
{
channel.SendMessage("your message");
}
右键单击服务器或频道并单击“复制id”,可以获取不一致的服务器和频道的id。如果没有此选项,请确保已在“设置”中选中“开发人员模式”。无需创建命令。您可以直接将消息发送到具有其id的频道
private void RegisterMemeCommand()
{
commands.CreateCommand("meme")
.Do(async (e) =>
{
int randomMemeIndex = rand.Next(FullmetalMemes.Length);
string memeToPost = FullmetalMemes[randomMemeIndex];
await e.Channel.SendFile(memeToPost);
});
}
示例代码:
private void RegisterMemeCommand()
{
commands.CreateCommand("meme")
.Do(async (e) =>
{
int randomMemeIndex = rand.Next(FullmetalMemes.Length);
string memeToPost = FullmetalMemes[randomMemeIndex];
await e.Channel.SendFile(memeToPost);
});
}
const ulong serverId = 38297389272897UL; // the id of your server
const ulong channelId = 78346982689343UL; // the id of the channel
Server findServer(ulong id)
{
foreach(Server server in discord.Servers) // discord is your DiscorClient instance
{
if (server.Id == serverId)
return server;
}
return null;
}
Channel findTextChannel(Server server, ulong id)
{
foreach(Channel channel in server.TextChannels)
{
if (channel.Id == channelId)
return channel;
}
return null;
}
private Channel channel;
private System.Threading.Timer timer;
void load()
{
Server server = findServer(serverId);
if (server != null)
{
channel = findTextChannel(server, channelId);
if (channel != null)
timer = new System.Threading.Timer(send, null, 0, 1000 * 60 * 60 * 24); // 24 hour interval
}
}
void send(object state)
{
channel.SendMessage("your message");
}
通过右键单击服务器或频道并单击“复制id”,可以获取不一致的服务器和频道的id。如果没有此选项,确保您已在“设置”中选中“开发人员模式”。请参阅抱歉,将代码上载为图像…我是SO的新成员,但我确实更正了此问题。请参阅抱歉,将代码上载为图像…我是SO的新成员,但我确实更正了此问题。
private void RegisterMemeCommand()
{
commands.CreateCommand("meme")
.Do(async (e) =>
{
int randomMemeIndex = rand.Next(FullmetalMemes.Length);
string memeToPost = FullmetalMemes[randomMemeIndex];
await e.Channel.SendFile(memeToPost);
});
}