TG Text2Img Bot — Telegram向けテキスト→画像ボット
概要
tg-text2img-botは、Telegram向けの軽量なボットテンプレートで、特定のチャネルやグループからテキストと画像をスクレイピングしてローカルに保存し、テキストメッセージを画像化(レンダリング)して再投稿できる機能を持ちます。データはSQLiteで管理され、画像ファイルはリポジトリ内のディレクトリに格納されます。Stable Diffusionなどの文から画像を生成する外部モデルを接続するためのフックも用意されており、GitHub Actionsを利用した定期実行(データ収集)にも対応。ワンステップでForkして設定すればすぐにデプロイ可能な、学習・実験向けの実装サンプルです。
リポジトリの統計情報
- スター数: 23
- フォーク数: 0
- ウォッチャー数: 23
- コミット数: 14
- ファイル数: 9
- メインの言語: Python
主な特徴
- Telegramのチャネル/グループからテキストと画像を自動収集してローカルに保存(SQLite + ファイルシステム)
- テキストメッセージを画像としてレンダリングし、Telegramに送信可能
- 将来的なStable Diffusion等のテキスト→画像モデル接続用インターフェースを想定
- GitHub Actionsで定期的にデータを収集するオプションを提供(コードホスト上で自動実行)
技術的なポイント
本プロジェクトはシンプルなモジュール構成で、データ収集・保存・レンダリング・送信の各責務が分離されています。collect_tg_data.pyがTelegram API経由でメッセージや添付画像を取得し、db.pyがSQLiteデータベースへのメタ情報保存や検索を担います。画像自体はリポジトリ配下または指定されたdataフォルダに保存され、SQLiteにはメッセージID、送信者、タイムスタンプ、ファイルパスなどのメタが登録されます。テキスト→画像レンダリング部分は既存のテキストレンダラー(例えばPillow等)で実装可能な設計になっており、レンダリング結果をTelegramへ送信するフローも組み込まれています。
外部モデル(例:Stable Diffusion)との連携はプラグイン的に差し替えられるよう意識されており、ローカルサーバやREST API経由で画像生成を行うエンドポイントを実装すれば流用できます。デプロイ面では「ForkしてBotトークン等の環境変数を設定するだけ」で動作することを想定しており、GitHub Actionsのワークフローで定期的にcollect_tg_data.pyを実行してデータを収集する構成もサポートされています。注意点としては、Telegramの利用規約や各国の法規、著作権・プライバシーに関する配慮がREADMEで強調されており、スクレイピング対象の同意や保存データの取り扱い設計が必須です。拡張性は高く、モデル接続、メタデータの拡張、分散ストレージへの移行などが比較的容易に行えます。
プロジェクトの構成
主要なファイルとディレクトリ:
- .github: dir
- README.md: file
- collect_tg_data.py: file
- data: dir
- db.py: file
…他 4 ファイル
まとめ
簡潔で拡張しやすいTelegram向けテキスト→画像ボットのテンプレートです(実験向け)。
リポジトリ情報:
- 名前: tg-text2img-bot
- 説明: 説明なし
- スター数: 23
- 言語: Python
- URL: https://github.com/xotu938/tg-text2img-bot
- オーナー: xotu938
- アバター: https://avatars.githubusercontent.com/u/216679230?v=4
READMEの抜粋:
TG Text2Img Bot(一键部署)
这是一个可以直接 Fork 使用和部署 的 Telegram 机器人模版项目,用于:
- 从指定 Telegram 频道/群抓取文本与图片,保存到本地 SQLite 数据库与文件夹。
- 将文字消息渲染为图片并发送到 Telegram。
- 预留接口接入开源文生图模型(如 Stable Diffusion)把文字生成风格相似的图片。
- 支持在 GitHub 托管代码,并用 GitHub Actions 定时抓取频道数据(可选)。[web:32][web:39][web:41]
本项目仅作技术演示,请务必遵守 Telegram 政策及所在地区法律,尊重版权与隐私。[web:24][web:27]
一、快速开始
- Fork 本仓库
- 创建 Telegram Bot 并获取 Bot Token …