Dana's dev blog

Animelist - Discord bot

A Discord bot that allows users to search for Anime, Manga, Users and Characters on AniList with unique mid-sentence command functionality.

Side Project

project preview
esc
F1
F2
F3
F4
F5
F6
F7
F8
F8
F10
F11
F12
~`
!1
@2
#3
$4
%5
^6
&7
*8
(9
)0
_
+ =
delete
tab
Q
W
E
R
T
Y
U
I
O
P
{[
}]
|\
caps lock
A
S
D
F
G
H
J
K
L
:;
"'
return
shift
Z
X
C
V
B
N
M
<,
>.
?/
shift
fn
control
option
command
command
option

My Journey Creating AnimeList: A Unique Discord Bot for Anime Enthusiasts

Hey fellow otaku and coding enthusiasts!

Today, I want to share my experience creating a Discord bot that I'm particularly proud of - AnimeList. This project combined my love for anime with my passion for coding, resulting in a unique tool that brought a smile to many anime fans in our Discord community.

The Birth of AnimeList

AnimeList was born out of a desire to have quick, seamless access to anime information right within our Discord conversations. I wrote this bot in JavaScript, leveraging several powerful modules including fs, turndown, discord.js, and fetch, among others.

What Makes AnimeList Special?

Mid-Sentence Commands

One of the coolest features of AnimeList is its ability to process commands mid-sentence. Unlike many Discord bots that require separate messages or strict command formats, AnimeList can be summoned right in the flow of your conversation. Imagine typing:

"You should watch a{Attack on Titan}! Its really good."

The bot would seamlessly fetch and display information about Attack on Titan without interrupting your message. This feature made interactions feel more natural and conversational.

Powered by AniList API

To ensure accurate and up-to-date information, I integrated the AniList API into AnimeList. This allowed users to search for:

  • Anime series
  • Manga titles
  • Characters
  • User profiles

The depth of information available made AnimeList a go-to resource for quick anime-related queries within our Discord server.

The Technical Side

Creating AnimeList was a great learning experience. Some of the key technical aspects included:

  • Implementing efficient API calls to AniList
  • Parsing and formatting the returned data for Discord display
  • Creating a flexible command parsing system for mid-sentence functionality
  • Handling user interactions and error cases gracefully

Current Status and Future Plans

While slash commands have become the new standard for Discord bots, AnimeList still holds its own with its unique mid-sentence functionality. It continues to be a useful tool for our anime discussions.

Looking ahead, I'm considering:

  • Adapting some features to work with slash commands
  • Expanding the database to include more niche anime and manga
  • Implementing a recommendation system based on user preferences

Wrapping Up

Creating AnimeList was more than just a coding project - it was a journey that combined my technical skills with my passion for anime. It's incredibly satisfying to see something you've built being used and enjoyed by others in your community.

Have you ever created a bot or tool for your hobbies? I'd love to hear about your experiences in the comments below!

Until next time, happy coding and anime watching!

Check it out on Github

Project Details

Type
self
Tech Stack
JavaScript
Discord.js
AniList API
Node.js
fs
turndown
fetch