public async Task <string> BoratGame(IInvocationContext context) { IReactableMessage message = (IReactableMessage)await context.Channel.SendAsync(Message.Create("hello give me a thumbs up if you think i'm very nice")); if (message == null) { return("I can't read reactions anyway here, I don't like!"); } await Task.Delay(5000); StringBuilder builder = new StringBuilder(); foreach (Reaction reaction in await message.GetReactions()) { if (reaction.Emoji.Contains("👍")) { foreach (IUser user in reaction.Reactors) { builder.Append($"{user.Name}, I like! "); } } } if (builder.Length == 0) { return("I don't like you either!"); } return(builder.ToString()); }
private async void MessageBusOnReceived(object sender, MessageReceivedEventArgs e) { IReactableMessage message = e.Message as IReactableMessage; if (message == null) { return; } if (message.Text.Split(' ').Any(x => x.Equals("anime", StringComparison.OrdinalIgnoreCase))) { foreach (var reactId in _animeReactionIds) { try { await message.React(reactId); } catch { // Whatever break; } } } }
private async void MessageBus_Received(object sender, MessageReceivedEventArgs e) { IReactableMessage reactableMessage = e.Message as IReactableMessage; if (reactableMessage != null && _boratPhrases.Any(x => reactableMessage.Text.CaseInsensitiveContains(x))) { try { await reactableMessage.React("<:borat:244253799030587402>"); if (_rnd.Next(0, 100) < 5) { await e.Context.Raiser.SendAsync( Message.Create($"{e.Context.User.Mention} Dude is that Borat?")); } } catch { // ignore } } }