You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- using Discord;
- using Discord.Interactions;
- using Discord.WebSocket;
- using System.Threading.Tasks;
-
- namespace InteractionFramework.Modules
- {
- // A transient module for executing commands. This module will NOT keep any information after the command is executed.
- internal class MessageCommandModule : InteractionModuleBase<SocketInteractionContext<SocketMessageCommand>>
- {
- // Pins a message in the channel it is in.
- [MessageCommand("pin")]
- public async Task PinMessageAsync(IMessage message)
- {
- // make a safety cast to check if the message is ISystem- or IUserMessage
- if (message is not IUserMessage userMessage)
- await RespondAsync(text: ":x: You cant pin system messages!");
-
- // if the pins in this channel are equal to or above 50, no more messages can be pinned.
- else if ((await Context.Channel.GetPinnedMessagesAsync()).Count >= 50)
- await RespondAsync(text: ":x: You cant pin any more messages, the max has already been reached in this channel!");
-
- else
- {
- await userMessage.PinAsync();
- await RespondAsync(":white_check_mark: Successfully pinned message!");
- }
- }
- }
- }
|