https://github.com/en9inerd/zola-post-bot
Telegram bot to copy new posts from channel to Zola blog based on GitHub Actions
https://github.com/en9inerd/zola-post-bot
bot gramjs javascript nodejs telegram telegram-api telegram-bot typescript zola
Last synced: about 2 months ago
JSON representation
Telegram bot to copy new posts from channel to Zola blog based on GitHub Actions
- Host: GitHub
- URL: https://github.com/en9inerd/zola-post-bot
- Owner: en9inerd
- License: mit
- Created: 2024-09-16T21:06:42.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-11-24T03:40:51.000Z (6 months ago)
- Last Synced: 2025-02-02T03:31:39.457Z (4 months ago)
- Topics: bot, gramjs, javascript, nodejs, telegram, telegram-api, telegram-bot, typescript, zola
- Language: TypeScript
- Homepage:
- Size: 128 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Zola Post Bot
Telegram bot to copy new posts from a channel to a Zola blog based on GitHub Actions.
Example of adopted Zola theme: [after-dark](https://github.com/en9inerd/after-dark)
## How it works
When a new post is published in a Telegram channel, the bot will create new post in the Zola blog and push it to the repository.
## ASCII diagram of the workflow
```
+-------------------------+ +------------------+ +-----------------------+
| Telegram Channel | | Telegram Bot | | GitHub Repository |
| (New Post Published) | ----> | Listens for | | (Zola Blog) |
| | | New Posts | | |
+-------------------------+ +------------------+ +-----------------------+
| |
| |
v |
+------------------+ |
| Creates New | |
| Zola Blog Post | |
+------------------+ |
| |
v |
+------------------+ |
| Push to GitHub | ------------------> |
+------------------+ |
v
+-----------------------------+
| GitHub Actions Workflow |
| (Build & Deploy) |
+-----------------------------+
|
v
+----------------------------+
| Zola Blog Website |
| (Post is Published) |
+----------------------------+
```## Configuration
All available configuration options are listed in the [config/default.js](config/default.js) file.