Make birthdays add/deleteable by self
This commit is contained in:
parent
f0c7c99627
commit
076dc16e03
Binary file not shown.
@ -115,23 +115,25 @@ namespace DiscoBot.bdaygreet
|
||||
private async Task HandleBDayAddCommand(SocketMessage msg, string[] parameters)
|
||||
{
|
||||
var gauthor = guild.Users.Where(u => u.Id == msg.Author.Id).Single();
|
||||
if(!gauthor.GuildPermissions.Administrator)
|
||||
{
|
||||
await msg.Channel.SendMessageAsync("Sorry only administrators can add birthdays :(");
|
||||
return;
|
||||
}
|
||||
var gchan = msg.Channel as IGuildChannel;
|
||||
string name = parameters[1];
|
||||
string date = parameters[2];
|
||||
SocketGuildUser user;
|
||||
try {
|
||||
var id = MentionUtils.ParseUser(name);
|
||||
user = guild.Users.Where(u => u.Id == id).Single();
|
||||
} catch(Exception)
|
||||
try
|
||||
{
|
||||
var id = MentionUtils.ParseUser(name);
|
||||
user = guild.Users.Where(u => u.Id == id).Single();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
await msg.Channel.SendMessageAsync("I can't find user " + name + " so I can't add them.");
|
||||
return;
|
||||
}
|
||||
if (gauthor.Id != user.Id && !gauthor.GuildPermissions.Administrator)
|
||||
{
|
||||
await msg.Channel.SendMessageAsync("Only administrators can add arbitrary birthdays. You can add your own though! :)");
|
||||
return;
|
||||
}
|
||||
var gchan = msg.Channel as IGuildChannel;
|
||||
DateTimeOffset d;
|
||||
try {
|
||||
d = DateTimeOffset.ParseExact(date,new string[] { "dd.MM.", "d.MM.", "dd.M", "d.M." }, null, DateTimeStyles.AssumeUniversal);
|
||||
@ -201,13 +203,14 @@ namespace DiscoBot.bdaygreet
|
||||
private async Task HandleBDayDelCommand(SocketMessage msg, string[] parameters)
|
||||
{
|
||||
var gauthor = guild.Users.Where(u => u.Id == msg.Author.Id).Single();
|
||||
if (!gauthor.GuildPermissions.Administrator)
|
||||
{
|
||||
await msg.Channel.SendMessageAsync("Sorry only administrators can delete birthdays :(");
|
||||
return;
|
||||
}
|
||||
|
||||
var gchan = msg.Channel as IGuildChannel;
|
||||
string tag = ((IModule)this).ConcatParameters(parameters[1..]);
|
||||
if (tag != msg.Author.Username+"#"+msg.Author.DiscriminatorValue && !gauthor.GuildPermissions.Administrator)
|
||||
{
|
||||
await msg.Channel.SendMessageAsync("Only administrators can delete arbitrary birthdays. You can delete your own...");
|
||||
return;
|
||||
}
|
||||
try
|
||||
{
|
||||
var b = bdayGreetContext.BDays.Where(b => b.DiscordTag == tag).Single();
|
||||
|
Loading…
x
Reference in New Issue
Block a user