A Telegram channel management bot built with TypeScript, grammy, MongoDB & Agenda to manage your channel contents effortlessly!
Area | Status |
---|---|
Channel connection (public & private) | Implemented |
Permission checks (admin rights) | Basic (post rights) |
Multiple channels per user | Implemented |
Draft creation (text, media, buttons) | Implemented |
Inline buttons (no counters) | Implemented |
Scheduling (presets + custom) | Implemented |
Timezone preferences | Implemented |
Queues (scheduled list) | Implemented |
Send/Schedule & Pin the post | Implemented |
Link personal bot | Implemented |
- Add support for shared-access to other channel admins
- Improve text formating of the response messages.
Create a .env
file:
BOT_TOKEN=123456:ABC...
MONGODB_URI=mongodb://localhost:27017/postify
DB_NAME=postify
ENCRYPTION_KEY=
LOG_LEVEL=debug
Encryption: Provide ENCRYPTION_KEY
(32‑byte hex or base64). Tokens are stored with AES‑256‑GCM in tokenEncrypted
.
If ENCRYPTION_KEY
is absent, an ephemeral key is used (NOT for production) and tokens become unreadable after restart.
Install deps and run in dev mode:
npm install
npm run dev
Run unit tests:
npm test
Postify supports rich text formatting using HTML tags:
<b>bold text</b>
for bold<i>italic text</i>
for italic<code>inline code</code>
formonospace
<pre>code block</pre>
for code blocks<blockquote>quoted text</blockquote>
for quotes
Example:
<b>Hello</b> <i>world</i>! Here's some <code>code</code>:
<pre>
function hello() {
console.log("Hello world!");
}
</pre>
<blockquote>This is a quote</blockquote>
AI assistants that helped in the development of this project:
- Claude 4
- ChatGPT 5
- Gemini 2.5 Pro
Made with ❤️ by Burhanverse