Run your server like a product.
Moderation, tickets, automation and Stripe commerce for Discord. Every one of them configured from a single dashboard, isolated per server, with your keys encrypted and your money going straight to your own account.
Everything a working server needs, and nothing it does not
Moderation, tickets and automation are free on every plan. The paid tiers gate the things that cost real money to run, not the things that make the bot worth installing.
Automod your mods can live with
Word filters, link allowlists, invite blocking, mention and caps thresholds, message rate, duplicate detection, attachment extensions. Anyone with Manage Messages is exempt automatically, so moderators cleaning up a raid never trip their own rules.
One punishment, not a pile-on
A message that breaks four rules produces the single most severe action, never a stacked warn and timeout and ban. There is deliberately no regex rule type: a tenant-authored pattern running on every message is a denial-of-service risk against every other server.
Checkout inside the channel
The /buy command posts a Stripe Checkout link for your own account. When the webhook lands, the bot grants the role, records the order and DMs a receipt. Fulfilment is idempotent, so routine webhook redeliveries never deliver twice. SellAuth syncs alongside it.
Tickets that leave a paper trail
Panels your members click, claim and close flows for staff, and a transcript written at close so a decision can still be reviewed a month later. Panels, categories and staff roles are all configured from the dashboard.
Automation that runs itself
Autoresponders, auto-roles, role panels, sticky messages, temporary voice hubs, giveaways with rerolls, invite tracking and vouches. Anti-nuke watches for mass deletes and bans and pulls the handbrake before a compromised admin finishes.
Isolated per server, by construction
Every server is its own tenant with its own config, credentials, limits and plan. Stripe keys are encrypted under a per-row key and decrypted only in memory for a single call. Losing admin in Discord removes dashboard access on the next sign-in.
18 slash commands, registered on invite
No prefix to remember and no permission the bot does not use. The invite grants exactly what these commands need, and never Administrator.
Commerce
ProSell through your own Stripe account. Checkout happens in Discord, money lands in your account.
Moderation
Free on every plan. Every action writes a case record your staff can review and appeal.
Messages
Reusable embeds built in the dashboard, plus recovery for what just disappeared.
Community
Giveaways, reputation and invite tracking — the loops that keep a server busy.
Simple rates. No platform tax on your community.
No setup fees, no exit fees, cancel anytime. Plans are per server, so a quiet server never subsidises a busy one.
For small servers finding their feet.
- Full moderation suite — automod, cases, verification
- 1 ticket panel and 1 role panel
- 5 automod rules, 3 autoresponders
- Welcome, goodbye and 3 saved embeds
- 7 days of analytics history
- Community support
For communities selling something real.
- Everything in Starter, plus commerce
- Unlimited products, automod rules and autoresponders
- Stripe checkout in-chat with your own keys
- SellAuth integration and order sync
- Anti-nuke guardrails, snipe and edit-snipe
- 10 ticket panels, role panels and voice hubs
- 90 days of analytics history
For marketplaces and networks of servers.
- Everything in Pro, with every limit removed
- Unlimited ticket panels, voice hubs and giveaways
- 365 days of analytics history
- Audit-log export and operator console access
- Priority support
Two services, one config
The dashboard runs on Vercel and the bot runs on Railway. Saving a change bumps the config version for that server and pushes an HMAC-signed notification to the gateway, which reloads it immediately. If the push fails, a 30-second poll picks it up anyway.
Discord servers linked to poi-bot. Every one keeps its own configuration, its own credentials and its own plan.
- Online 24/7
- Encrypted credentials
- No forced bot invite
Gateway healthy · 116ms from this page
Questions server owners actually ask
Is a commerce bot even allowed on Discord?
Yes, because poi-bot is not the merchant. You connect your own Stripe account and sell under it, so the bot never holds funds and never becomes a payment processor. It posts a Checkout link and reacts to Stripe's webhook. That is the whole of its involvement in the money.
Where does the money actually go?
Straight into your Stripe account, on your payout schedule, under your terms. Fulfilment (role grants, receipts, order records) runs when Stripe's webhook lands. That step is idempotent, so Stripe's routine webhook redeliveries never charge twice or deliver twice.
How are my Stripe keys stored?
Encrypted with AES-256-GCM under a per-row key before they are written, and decrypted in memory only for the duration of a single API call. They are never rendered back to you, never included in a log line, and never sent to the bot process. The bot reads orders, not credentials.
What does it cost?
Moderation, tickets, verification and automation are free on every plan, forever. Paid plans exist for the parts that cost real money to run: commerce, SellAuth, higher limits and longer analytics retention. A failed payment does not cut you off. Stripe retries for several days and access continues throughout.
How do refunds and disputes work?
Refund from the Orders page in the dashboard. It calls Stripe with your key, marks the order refunded, and revokes any role the purchase granted. Disputes are handled in your own Stripe dashboard, because the dispute is between you and your customer.
Do I need to write any code?
No. Invite the bot, sign in with Discord, pick a server, and work through the Setup checklist. It reads your live configuration rather than a stored step counter, so it always reflects what is actually true. Webhooks and the API are there if you want them, not required.
How quickly do dashboard changes reach the bot?
Immediately in the normal case. Saving a change bumps the server's config version and pushes an HMAC-signed notification to the bot on Railway, which reloads that server on the spot. If the push fails, the bot's 30-second poll picks the change up anyway, so a brief network problem delays a change rather than losing it.
What does the bot store about my members?
As little as it can. Analytics are aggregate daily counts with no message content and no per-user rows. Message content is kept in exactly two places: ticket transcripts, written when a ticket closes and visible to your staff, and snipe, which is memory-only, capped at five messages per channel, discarded after an hour, and off by default.
Set it up in an afternoon
Invite the bot, sign in with Discord, and the Setup checklist reads your live configuration to tell you what is left.