Allow a server admin to specify a channel for the welcome message

This commit is contained in:
runebaas 2019-05-21 20:50:50 +02:00
parent 8822e65e6a
commit ced287e492
No known key found for this signature in database
GPG key ID: 2677AF508D0300D6
3 changed files with 55 additions and 9 deletions

View file

@ -46,6 +46,29 @@ namespace Geekbot.net.Commands.Admin
await ReplyAsync($"Welcome message has been changed\r\nHere is an example of how it would look:\r\n{formatedMessage}");
}
[Command("welcomechannel", RunMode = RunMode.Async)]
[Summary("Set a channel for the welcome messages (by default it uses the top most channel)")]
public async Task SelectWelcomeChannel([Summary("#Channel")] ISocketMessageChannel channel)
{
try
{
var m = await channel.SendMessageAsync("...");
var guild = await GetGuildSettings(Context.Guild.Id);
guild.WelcomeChannel = channel.Id.AsLong();
_database.GuildSettings.Update(guild);
await _database.SaveChangesAsync();
await m.DeleteAsync();
await ReplyAsync("Successfully saved the welcome channel");
}
catch (Exception e)
{
await _errorHandler.HandleCommandException(e, Context, "That channel doesn't seem to exist or i don't have write permissions");
}
}
[Command("modchannel", RunMode = RunMode.Async)]
[Summary("Set a channel for moderation purposes")]
public async Task SelectModChannel([Summary("#Channel")] ISocketMessageChannel channel)
@ -67,7 +90,7 @@ namespace Geekbot.net.Commands.Admin
}
catch (Exception e)
{
await _errorHandler.HandleCommandException(e, Context, "That channel doesn't seem to be valid");
await _errorHandler.HandleCommandException(e, Context, "That channel doesn't seem to exist or i don't have write permissions");
}
}