Create a custom command with Nekotina

Published on May 23rd, 20266 min read

Learn how to set up a custom command with an embed and GIF to wish a member happy birthday.

Ads

Custom commands let Nekotina respond to your server's own trigger words with messages, embeds, and more. In this guide you'll create happybirthday, a command to wish a member happy birthday with an embed and a GIF.

If your server prefix is ! (Nekotina's default), usage looks like this:

!happybirthday @Kwee

In this example, Gwee runs the command and Kwee receives the birthday wish.

Prerequisites

Before you start, make sure that:

  1. You have access to the Nekotina dashboard with administrator permissions on the server.
  2. You know your server's command prefix (default ! in Nekotina; it can also be -, ?, etc.).
  3. Nekotina can send messages and embed links in the channel where you'll test the command.
  4. You have a GIF ready to upload (GIF, PNG, JPG, or WEBP format).

This is what the final response will look like when Gwee wishes Kwee happy birthday:

Preview
Nekotina
NekotinaAPP

Happy birthday!

@Gwee wishes @Kwee a happy birthday 🎂
Embed image
The happybirthday command response with a birthday embed and GIF.

Step 1 — Create the command

  1. Open the dashboard and select your server.
  2. Go to Utilities → Custom Commands.
  3. Click Create command and choose Start from scratch.
  4. In the Command step, enter the trigger word:
happybirthday
  1. Add an optional description, for example: Wish a server member happy birthday.
  2. You can use the editor's basic mode; it's enough for this tutorial.
FieldSuggested value
Trigger wordhappybirthday
DescriptionWish a server member happy birthday

Step 2 — Add the member argument

The command needs to know who to congratulate. Add a Member argument:

  1. In the Arguments step (advanced mode) or during command setup, click Add argument.
  2. Configure the argument:
FieldValue
Nametarget
TypeMember
DescriptionMember you want to wish happy birthday

How arguments work in messages

When someone types !happybirthday @Kwee, Discord splits the command into parts:

Part typedWhat it represents
happybirthdayThe command trigger word
@KweeThe value of the target argument

Nekotina does not guess who you mean: you define what data the command expects (a member, a number, text…) and the user provides it after the command name. That value is stored under the name you gave the argument.

To use that value inside the message or embed, write a variable in this format:

{{arg.argument-name}}

In our case the argument is named target, so the variable is:

{{arg.target}}

Important rules:

  • The text after arg. must match the argument name exactly. If you named it target, write {{arg.target}}; if you name it birthdayMember, it would be {{arg.birthdayMember}}.
  • If the name does not match, Nekotina cannot replace the variable and the message may show the literal text or fail.
  • Member arguments can be used as a mention (@Kwee) or, with other variables, as an avatar ({{arg.target.avatar}}).
  • If you add more than one argument, they are read in order. For example, !happybirthday @Kwee fills the first argument; a second argument would come after it.

Example of how configuration and message fit together:

Where you configure itValue
Argument nametarget
TypeMember
Embed description{{user.mention}} wishes {{arg.target}} a happy birthday 🎂

When Gwee runs !happybirthday @Kwee, Nekotina replaces:

  • {{user.mention}} → Gwee's mention (whoever ran the command)
  • {{arg.target}} → Kwee's mention (the member Gwee specified)

Usage in Discord:

!happybirthday @Kwee

Step 3 — Set up the Send message action

  1. Go to the Actions step.
  2. Add a Send message action (responds in the same channel where the command was used).
  3. Click Add to message and select Embeds.

This is what the embed looks like before adding the GIF:

Preview
Nekotina
NekotinaAPP

Happy birthday!

@Gwee wishes @Kwee a happy birthday 🎂
Embed with configured text. No image yet.

Step 4 — Configure the embed

In the embed editor, fill in the main fields:

FieldValue
TitleHappy birthday!
Description{{user.mention}} wishes {{arg.target}} a happy birthday 🎂
Color#ff5dd6
ImageUpload your birthday GIF

Useful variables:

VariableWhat it shows
{{user.mention}}Mention of whoever runs the command (Gwee)
{{user.name}}Display name of whoever runs the command
{{arg.target}}Mention of the chosen member (Kwee)

In Message settings, enable User mentions so Discord resolves embed mentions correctly.

Step 5 — Access and cooldown (optional)

In the Access step you can fine-tune who uses the command and how often:

OptionSuggestion for happybirthday
User cooldown5 seconds (prevents birthday spam)
Allowed channelsOnly #general or #birthdays, if you prefer
Hide executionOff (the !happybirthday @Kwee message stays visible)

If you don't set restrictions, any member can use the command in any channel the bot is allowed to write in.

Step 6 — Save and test

  1. Review the editor's Summary step.
  2. Click Save.
  3. In Discord, run the command with a real member:
!happybirthday @Kwee

Nekotina will post the embed with the GIF in the channel. If Gwee runs it, the description will show both mentions.

Preview
Nekotina
NekotinaAPP
!happybirthday @Kwee

Happy birthday!

@Gwee wishes @Kwee a happy birthday 🎂
Embed image
Usage example: Gwee runs the command and Nekotina replies with the full embed.

Limits to keep in mind

FreePremium
Commands per server10100
Actions per command110
Required arguments1010
Embeds per message1010
Maximum cooldown300 s300 s

With Premium you can chain multiple actions (for example, give a birthday role in addition to the message). On the free plan, the Send message action is enough for this tutorial.

Tips

  • Use an optimized GIF (small file size) so it loads quickly on Discord.
  • The argument name (target) must match what you write in {{arg.target}}.
  • Don't include the prefix in the trigger word: write happybirthday, not !happybirthday.
  • You can duplicate the command and swap the GIF for variants like happybirthday-vip.

Common issues

Go further

If you enable advanced mode, you can add multiple embeds and choose Send a random embed so Nekotina shows a different birthday message each time (similar to the Comfort template in the dashboard). You can also use computed variables to pick random phrases.

Flow summary

1. Create command → Trigger word happybirthday
2. Add argument → target (Member)
3. Action → Send message with embed
4. Embed → Description with variables + color + GIF
5. Save → Test with !happybirthday @Kwee

Done! You now have a custom birthday command on your server with Nekotina.

Ads
Back to guides