1
0
Fork
You've already forked telegramblog
0
No description
  • JavaScript 28.1%
  • CSS 26.4%
  • XSLT 25.8%
  • Astro 18.8%
  • Dockerfile 0.9%
2025年04月13日 12:22:04 +08:00
.github buy_me_a_coffee 2025年04月13日 12:22:04 +08:00
.vscode feat: init 2024年08月04日 20:42:51 +08:00
api/static feat: enhance deployment and media handling 2024年08月05日 18:57:28 +08:00
public fix(rss): add atom namespace to RSS XSL stylesheet 2025年01月04日 12:21:26 +08:00
src refactor: optimize RSS feed generation 2025年01月01日 19:03:22 +08:00
.dockerignore fix: update Sentry configuration in Docker builds 2024年11月23日 18:25:40 +08:00
.editorconfig feat: init 2024年08月04日 20:42:51 +08:00
.env.example fix: update RSS_BEAUTIFY env var to empty string 2025年01月01日 19:13:50 +08:00
.gitignore feat: enhance build and syntax highlighting 2024年08月11日 10:36:06 +08:00
.node-version feat: init 2024年08月04日 20:42:51 +08:00
astro.config.mjs feat: switch to server-side rendering 2024年11月06日 20:03:43 +08:00
CODE_OF_CONDUCT.md feat: add Contributor Covenant Code of Conduct 2024年10月18日 12:02:37 +08:00
Dockerfile fix: update Sentry configuration in Docker builds 2024年11月23日 18:25:40 +08:00
eslint.config.js chore: eslint fix and upgrade dependencies 2024年08月31日 16:29:02 +08:00
LICENSE docs:LICENSE 2024年08月04日 21:01:52 +08:00
package.json 0.1.7 2024年11月07日 19:05:23 +08:00
pnpm-lock.yaml chore: eslint fix and upgrade dependencies 2024年08月31日 16:29:02 +08:00
postcss.config.cjs feat: enhance CSS handling and optimize global styles 2024年08月06日 19:02:56 +08:00
README.md feat: add RSS feed beautification option 2025年01月01日 18:07:00 +08:00
README.zh-cn.md feat: add RSS feed beautification option 2025年01月01日 18:07:00 +08:00
tsconfig.json feat: init 2024年08月04日 20:42:51 +08:00
vercel.json feat: enhance deployment and media handling 2024年08月05日 18:57:28 +08:00

BroadcastChannel

Turn your Telegram Channel into a MicroBlog.


English | 简体中文

Features

  • Turn your Telegram Channel into a MicroBlog
  • SEO friendly /sitemap.xml
  • 0 JS on the browser side
  • RSS and RSS JSON /rss.xml /rss.json

🪧 Demo

Real users

Platform

  1. Cloudflare
  2. Netlify
  3. Vercel

BroadcastChannel supports deployment on serverless platforms like Cloudflare, Netlify, Vercel that support Node.js SSR, or on a VPS. For detailed tutorials, see Deploy your Astro site.

🧱 Tech Stack

🏗️ Deployment

Docker

  1. docker pull ghcr.io/ccbikai/broadcastchannel:main
  2. docker run -d --name broadcastchannel -p 4321:4321 -e CHANNEL=miantiao_me ghcr.io/ccbikai/broadcastchannel:main

Serverless

  1. Fork this project to your GitHub
  2. Create a project on Cloudflare/Netlify/Vercel
  3. Select the BroadcastChannel project and the Astro framework
  4. Configure the environment variable CHANNEL with your channel name. This is the minimal configuration, for more configurations see the options below
  5. Save and deploy
  6. Bind a domain (optional).
  7. Update code, refer to the official GitHub documentation Syncing a fork branch from the web UI.

⚒️ Configuration

## Telegram Channel Username, must be configured. The string of characters following t.me/
CHANNEL=miantiao_me
## Language and timezone settings, language options see [dayjs](https://github.com/iamkun/dayjs/tree/dev/src/locale)
LOCALE=en
TIMEZONE=America/New_York
## Social media usernames
TELEGRAM=ccbikai
TWITTER=ccbikai
GITHUB=ccbikai
MASTODON=mastodon.social/@Mastodon
BLUESKY=bsky.app
## The following two social media need to be URLs
DISCORD=https://DISCORD.com
PODCAST=https://PODCAST.com
## Header and footer code injection, supports HTML
FOOTER_INJECT=FOOTER_INJECT
HEADER_INJECT=HEADER_INJECT
## SEO configuration options, can prevent search engines from indexing content
NO_FOLLOW=false
NO_INDEX=false
## Sentry configuration options, collect server-side errors
SENTRY_AUTH_TOKEN=SENTRY_AUTH_TOKEN
SENTRY_DSN=SENTRY_DSN
SENTRY_PROJECT=SENTRY_PROJECT
## Telegram host name and static resource proxy, not recommended to modify
HOST=telegram.dog
STATIC_PROXY=
## Enable Google Site Search
GOOGLE_SEARCH_SITE=memo.miantiao.me
## Enable tags page, separate tags with commas
TAGS=tag1,tag2,tag3
## Show comments
COMMENTS=true
## List of links in the Links page, Separate using commas and semicolons
LINKS=Title1,URL1;Title2,URL3;Title3,URL3;
## Sidebar Navigation Item, Separate using commas and semicolons
NAVS=Title1,URL1;Title2,URL3;Title3,URL3;
## Enable RSS beautify
RSS_BEAUTIFY=true

🙋🏻 FAQs

  1. Why is the content empty after deployment?
    • Check if the channel is public, it must be public
    • The channel username is a string, not a number
    • Turn off the "Restricting Saving Content" setting in the channel
    • Redeploy after modifying environment variables
    • Telegram blocks public display of some sensitive channels, you can verify by visiting https://t.me/s/channelusername.

Sponsor

  1. Follow me on Telegram
  2. Follow me on X
  3. Sponsor me on GitHub