Table of Contents

Class CharacterModule

Namespace
FishMMO.DiscordBot.Modules
Assembly
FishMMO-DiscordBot.dll

Commands for inspecting game characters and looking up linked accounts.

[Group("char")]
public class CharacterModule : ModuleBase<SocketCommandContext>, IModuleBase
Inheritance
ModuleBase<SocketCommandContext>
CharacterModule
Implements
IModuleBase
Inherited Members
ModuleBase<SocketCommandContext>.BeforeExecuteAsync(CommandInfo)
ModuleBase<SocketCommandContext>.BeforeExecute(CommandInfo)
ModuleBase<SocketCommandContext>.AfterExecuteAsync(CommandInfo)
ModuleBase<SocketCommandContext>.AfterExecute(CommandInfo)
ModuleBase<SocketCommandContext>.OnModuleBuilding(CommandService, ModuleBuilder)
ModuleBase<SocketCommandContext>.Context

Constructors

CharacterModule(IServiceProvider, AccountLinkingService, ILogger<CharacterModule>)

public CharacterModule(IServiceProvider serviceProvider, AccountLinkingService accountLinkingService, ILogger<CharacterModule> logger)

Parameters

serviceProvider IServiceProvider
accountLinkingService AccountLinkingService
logger ILogger<CharacterModule>

Methods

GuildInfoAsync(string)

Displays guild information from the database.

[Command("guild")]
[RequireUserPermission(GuildPermission.ManageGuild)]
[Summary("Shows guild information by name (admin).")]
public Task GuildInfoAsync(string guildName)

Parameters

guildName string

Returns

Task

InspectAsync(string)

Loads an entire character from the database and displays a detailed embed with stats, equipment, inventory, skills, guild, quests, achievements, and more. Requires ManageGuild permission.

[Command("inspect")]
[RequireUserPermission(GuildPermission.ManageGuild)]
[Summary("Loads a full character profile from the database (admin).")]
public Task InspectAsync(string characterName)

Parameters

characterName string

Returns

Task

OnlineAsync()

Displays online player count and list.

[Command("online")]
[RequireUserPermission(GuildPermission.ManageGuild)]
[Summary("Shows currently online characters (admin).")]
public Task OnlineAsync()

Returns

Task

SearchAsync(string)

Searches for characters matching a partial name (admin only).

[Command("search")]
[RequireUserPermission(GuildPermission.ManageGuild)]
[Summary("Searches for characters by partial name (admin).")]
public Task SearchAsync(string partialName)

Parameters

partialName string

Returns

Task

WhoisAsync(IUser?)

Looks up which game account/character is linked to a Discord user. Admins can look up any user; regular users can only check themselves.

[Command("whois")]
[Summary("Shows the game account linked to a Discord user.")]
public Task WhoisAsync(IUser? targetUser = null)

Parameters

targetUser IUser

Returns

Task