public async Task Add([Name("Queue name"), Summary("Queue name"), Remainder] string queueName = "") { if (!PickupHelpers.IsInPickupChannel((IGuildChannel)Context.Channel)) { return; } queueName = queueName.Trim(' ', '"').Trim(); //find queue with name {queueName} await _subscriberCommandService.Add(queueName, Context.Channel, (IGuildUser)Context.User, Context.Message.Reference); }
private async Task ReactionAdded(Cacheable <IUserMessage, ulong> message, Cacheable <IMessageChannel, ulong> channel, SocketReaction reaction) { if (channel.Value == null) { await channel.GetOrDownloadAsync(); } if (channel.Value is not IGuildChannel guildChannel || guildChannel.Name != ChannelNames.ActivePickups) { return; } if (reaction.User.Value.IsBot) { return; } var queue = await _queueRepository.FindQueueByMessageId(reaction.MessageId, guildChannel.GuildId.ToString()); if (queue == null) { return; } var pickupChannel = ((SocketGuild)guildChannel.Guild).Channels .FirstOrDefault(c => c.Name.Equals(ChannelNames.Pickup)) as SocketTextChannel; switch (reaction.Emote.Name) { case "\u2705": await _subscriberCommandService.Add(queue.Name, pickupChannel ?? (SocketTextChannel)guildChannel, (SocketGuildUser)reaction.User); break; case "\uD83D\uDCE2": await _listCommandService.Promote( queue, pickupChannel ?? (SocketTextChannel)guildChannel, (SocketGuildUser)reaction.User); break; } }