Telegram sticker bot. Make packs, copy packs, edit stickers, search a public catalog. Runs @fStikBot.
- Create and edit sticker, emoji and video packs
- Copy any existing pack into your own
- Inline search across a public catalog (plus Tenor GIFs)
- Frame, mosaic, round-video and background-removal tools
- Co-edit packs with other users
- Group-mode packs and boosts
- Admin panel, broadcasts, moderation (OpenAI)
Node.js, telegraf for Bot API, gram.js MTProto for large files, MongoDB, Redis + Bull for queues, Sharp for image work.
git clone https://github.com/LyoSU/fStikBot.git
cd fStikBot
cp .env.example .env
cp config.example.json config.json
# fill in BOT_TOKEN and friends
docker compose up -dWithout Docker: install Node LTS, MongoDB and Redis, then npm i && npm start.
Two files:
.env— runtime secrets (bot token, MTProto keys, MongoDB URI, Redis host, OpenAI key, Tenor key)config.json— non-secret app config (admin id, log chat, sticker link prefix, messaging limits)
Minimum to boot: BOT_TOKEN, MONGODB_URI, REDIS_HOST. Everything else is optional and disables the matching feature when missing (OpenAI moderation, Tenor, GramAds, large-file downloads).
npm start # run the bot
npm run lint # eslint
npm run lint:fix # eslint --fix
npm run banners:build # rebuild banner assetsWebhook mode turns on when BOT_DOMAIN is set. Otherwise the bot uses long polling.
PolyForm Noncommercial 1.0.0. Free for personal, research, educational and nonprofit use. For anything commercial ping @LyoSU for a separate license.