コード例 #1
0
        /// <summary>
        /// When a new message is received
        /// </summary>
        /// <param name="message"></param>
        protected Task OnMessageReceivedAsync(SocketMessage message)
        {
            return(Task.Run(async() =>
            {
                var botUserMention = DiscordClient.CurrentUser.Mention.Replace("!", "");
                var isMentioned = message.Content.Contains(botUserMention) ||
                                  message.Content.Contains(DiscordClient.CurrentUser.Mention);

                // Create the message object
                var messageObj = new DiscordReceivedMessage(this, message, isMentioned);

                // Propagate the event
                await OnMessageReceivedAsync(messageObj).ConfigureAwait(false);
            }));
        }
コード例 #2
0
        /// <summary>
        /// When a new message is deleted
        /// </summary>
        /// <param name="cacheable"></param>
        /// <param name="channel"></param>
        protected Task OnMessageDeletedAsync(Cacheable <IMessage, ulong> cacheable, ISocketMessageChannel channel)
        {
            return(Task.Run(async() =>
            {
                if (cacheable.Value is SocketMessage socketMessage)
                {
                    var botUserMention = DiscordClient.CurrentUser.Mention.Replace("!", "");
                    var isMentioned = socketMessage.Content.Contains(botUserMention) ||
                                      socketMessage.Content.Contains(DiscordClient.CurrentUser.Mention);

                    // Create the message object
                    var messageObj = new DiscordReceivedMessage(this, socketMessage, isMentioned);

                    // Propagate the event
                    await OnMessageDeletedAsync(messageObj).ConfigureAwait(false);
                }
            }));
        }