Bot Help

Interact with DoTheNeedful via IRC — in channel or via /msg DoTheNeedful. Parameters in [brackets] are required; {braces} are optional.

General Commands
!dtn [username]
Do The Needful, [username].
!g [search] / !search [search]
Get the top web search result.
!gemini [prompt]
Ask Google Gemini AI a question — response posted to the website.
!dns
What’s the problem?
!pray / !letuspray
The Sysadmin Prayer.
!cloak {username}
Quick instructions on obtaining an IRC hostname cloak.
!stupid / !dumber {username}
I award you zero points.
!stats
Link to the stats page.
!mystats
Your personal stats.
!top10
Top 10 users by words spoken.
!flyfact / !fly
A random fly fact.
!ask / !dontask {username}
Don’t ask to ask — here’s why.
!morepower / !moreram / !moredb {username}
You know you need it.
!xyprob / !xy {username}
Call out the classic XY Problem.
!day / !today / !whatday
What day is it today?
!gitgud {username}
Sometimes people just need to git gud.
!ud [search]
Search Urban Dictionary.
!seen [username]
When was [username] last seen?
Quotes Commands
!add [quote]
Add a quote to the database.
!quote {search}
Random quote, or search by ID or keyword.
!up / !down [id]
Upvote or downvote a quote.
!top
Quote with the most upvotes.
!bottom
Quote with the most downvotes.
!myquotestats
Your personal quote stats.
!quotestats
Overall quote database stats.
Trivia Commands
!trivia / !t
Start a trivia game with a random topic.
!trivia topics
List available trivia topics.
!scores
High scores across all topics.
!myscores
Your scores across all topics.
Moderation Commands Requires operator flag

Duration format: a number followed by m (minutes), h (hours), d (days), or w (weeks) — e.g. 30m, 4h, 7d, 2w. Omitting a duration uses the channel default. Re-issuing a quiet or ban on a user who is already actioned will update their expiry rather than stack.

!op {username}
Give ops. Omit username to op yourself.
!deop {username}
Remove ops. Omit username to deop yourself.
!voice {username} / !v {username}
Give voice. Omit username to voice yourself.
!devoice {username} / !dv {username}
Remove voice. Omit username to devoice yourself.
!quiet [username] {duration} {reason} / !q
Mute a user. Default duration: 1h. The user receives a private notice. If the bot hasn’t resolved the user’s hostname yet, it will look it up automatically and ask you to retry in a moment. Example: !quiet BadUser 30m please calm down
!unquiet [username] / !uq
Remove a mute early. Looks up the active quiet by nickname.
!kick [username] {reason}
Kick a user from the channel. Default reason: Kicked at the request of [you].
!ban [username] {duration} {reason}
Ban a user. Default duration: 1w. Automatically resolves hostname if not yet known (retry in a moment if prompted). Example: !ban SpamBot 90d repeated spam
!unban [username]
Remove an active ban early. Looks up the active ban by nickname.
!kickban [username] {duration} {reason} / !kb
Kick and ban in one command. Default duration: 1w.
!redirect [username] {reason}
Ban a user with a redirect to ##fix_your_connection. Permanent. Use for connection or client issues.
Debug Commands PM only — owner / admin flag required

These commands are only accepted via /msg DoTheNeedful and are silently ignored from anyone without an Owner or Admin flag in the database.

!members
Shows a compact channel member summary via NOTICE: total count, who has ops, and who has voice. Full detail (hostname, account, modes for every nick) is written to the bot log at INFO level.
!actions
Lists all active, unexpired moderation actions: type (quiet/ban/redirect), target nickname, hostmask, who applied it, when, expiry time, and reason.