Skip to main content

虚実ニュースbot

その日にDiscordで話したユーザーの中からランダムに1人を選び、完全フィクションの「虚実ニュース」を1分〜3時間のランダム間隔で投稿するBotです。

虚実ニュースbotの投稿例

投稿例:

【虚実ニュース・社会】冷蔵庫との謝罪交渉、長期化

14時12分ごろ、@user が自宅の冷蔵庫に対し「先に謝罪してほしい」と交渉を始めたことが分かりました。

交渉は約23分間続き、冷蔵庫側からの回答は一度も確認されていません。

近くにいた住民は「最初は普通に飲み物を取りに来ただけだと思った」と話しています。

冷蔵庫外交評議会は対応として、無期休憩を決定しました。

なお、冷蔵庫側は現在もノーコメントを貫いています。

※このニュースは完全なフィクションです。実在の人物・事件・組織・処分とは関係ありません。

インストール

pip install kyozitu-news-bot

初回起動時に、使用しているOS/CPUに合うGo製Bot本体をGitHub Releasesから自動取得します。

対応: Windows / Linux / macOS の amd64・arm64、およびTermux / Android arm64。

起動方法

Pythonから:

from kyozitu_news_bot import run

run("DISCORD_BOT_TOKEN")

または環境変数を設定してCLIから:

export DISCORD_BOT_TOKEN="YOUR_BOT_TOKEN"
kyozitu-news-bot

Windows PowerShell:

$env:DISCORD_BOT_TOKEN="YOUR_BOT_TOKEN"
kyozitu-news-bot

ニュース生成

ニュースは20種類のストーリーをベースに生成します。同じストーリーでも時刻、数字、証言、処分、結末などが毎回変化します。

  • 社会・経済・科学・スポーツ・国際・文化・気象・交通・政治・謎など、カテゴリごとに文体を変化
  • 具体的な時刻、秒数、距離、人数、金額などをランダム生成
  • 事件の経緯、目撃証言、架空組織の発表、その後、最後のオチまで1件のニュースとして生成
  • 通常ニュースに加えて「独自」「特別速報」「訂正」が低確率で発生
  • 同じユーザーの過去ニュースを拾う「続報」が発生
  • ユーザーごとにその日だけの架空設定を割り当て、後のニュースにも引き継ぐ
  • 架空設定と続報情報は story_state.json に保存し、再起動後も維持

動作

  • Bot起動中、その日に発言した非Botユーザーをサーバーごとに記録します。
  • 最初の発言後、次の虚実ニュース投稿時刻を1分〜3時間の範囲でランダム決定します。
  • 時刻になると、その日に発言したユーザーから1人を選んでメンションします。
  • 投稿先は選ばれたユーザーが最後に発言したチャンネルです。
  • 投稿後、次回時刻をもう一度1分〜3時間からランダム決定します。
  • 日付判定は日本時間です。
  • 状態はローカルJSONに保存され、Botを再起動しても保持されます。

コマンド

  • /news test - 今すぐテストニュースを投稿
  • /news on - 自動投稿をON
  • /news off - 自動投稿をOFF
  • /news status - 状態、候補人数、次回投稿時刻などを表示
  • /news channel - 投稿先チャンネルを固定
  • /news interval - 投稿間隔を変更
  • /news reset - 今日の候補ユーザーをリセット

Discord Botの権限

最低限、Botに以下を許可してください。

  • View Channels
  • Send Messages
  • Read Message History

このBotはメッセージ本文を判定しないため、Message Content Intentは不要です。

データ保存場所

OSのユーザー設定ディレクトリ内の kyozitu-news-bot/state.json と story_state.json に保存します。 KYOZITU_DATA_DIR 環境変数を指定すると保存先を変更できます。

注意

虚実ニュースbotが生成するニュースはすべてネタ・フィクションです。実在のユーザーについて現実の犯罪や処分を事実として伝える用途ではありません。

開発

Bot本体はGoで実装しています。PyPIパッケージのPython部分は、Goバイナリの取得と起動だけを担当します。

Metadata

Release files for kyozitu-news-bot 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kyozitu-news-bot 0.1.7
File Size Uploaded
kyozitu_news_bot-0.1.7.tar.gz 5.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kyozitu-news-bot 0.1.7
File Interpreter ABI Platform
kyozitu_news_bot-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 11.8 kB

Release files / kyozitu_news_bot-0.1.7.tar.gz

Download URL kyozitu_news_bot-0.1.7.tar.gz
Size 5.7 kB
Tags Source
SHA-256 checksum
How to use checksums
49adb3e251782d9f5d4f14948ff183058561cf014ea60b1c9ac8d9f949b4a246
BLAKE2b-256 checksum
How to use checksums
067b775616b9966a1bc38d9960e69542f064691769d42759fad0518a5a37cf5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release files / kyozitu_news_bot-0.1.7-py3-none-any.whl

Download URL kyozitu_news_bot-0.1.7-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f6f77df65dc477a73e997e350696da5cbbe5c946592a4762d54a8dfe4cf78081
BLAKE2b-256 checksum
How to use checksums
5c06b039c52dcb5ea5a932604b299ab001a1c89bf03d573f3a0b83b6099630a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page