chaosbot/ChaosBot/WebServer/Services/DiscordInviteGenerator.cs

27 lines
958 B
C#

using ChaosBot.ConfigHelpers;
using Microsoft.Extensions.Configuration;
namespace ChaosBot.WebServer.Services
{
public class DiscordInviteGenerator
{
public string Generate()
{
string clientId = new Configuration().GetByKey<string>("Discord:ClientId").GetValue();
const ulong permissions =
0x00000020 + // MANAGE_CHANNELS
0x04000000 + // CHANGE_NICKNAME
0x00010000 + // READ_MESSAGE_HISTORY
0x00000800 + // SEND_MESSAGES
0x00002000 + // MANAGE_MESSAGES
0x00008000 + // ATTACH_FILES
0x00040000 + // USE_EXTERNAL_EMOJIS
0x00000040 + // ADD_REACTIONS
0x00000400 // VIEW_CHANNEL
;
return $"https://discord.com/oauth2/authorize?client_id={clientId}&scope=bot&permissions={permissions}";
}
}
}