SecondBot/CLI/DiscordSupervisor/DiscordBot.cs
Madpeterz 1ad87071c5 new discord-v control overlay
allows you to log in and out the bot via discord
2021-01-04 10:32:30 +00:00

41 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using OpenMetaverse;
using Discord;
using BetterSecondBotShared.Static;
using Discord.WebSocket;
using System.Threading.Tasks;
using System.Linq;
namespace BetterSecondBot.DiscordSupervisor
{
public abstract class DiscordBot : DiscordInbound
{
protected virtual async Task StartDiscordClientService()
{
DiscordClient = new DiscordSocketClient();
DiscordClient.Ready += DiscordClientReady;
DiscordClient.LoggedOut += DiscordClientLoggedOut;
DiscordClient.MessageReceived += DiscordClientMessageReceived;
await DiscordClient.LoginAsync(TokenType.Bot, myconfig.DiscordFull_Token);
_ = DiscordClient.StartAsync();
}
protected virtual async Task<Task> DiscordClientReady()
{
DiscordServer = DiscordClient.GetGuild(myconfig.DiscordFull_ServerID);
if (DiscordServer != null)
{
DiscordUnixTimeOnine = helpers.UnixTimeNow();
DiscordClientConnected = true;
await DiscordRebuildChannels();
}
else
{
DiscordClientConnected = false;
}
return Task.CompletedTask;
}
}
}