Skip to content

88IO/snipe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

snipe

GitHub license

🔫 discordbot-snipe

予め設定した時刻に通話を強制切断するDiscord Botです。

ボイスチャットで話が弾んで離席しずらい状況になったことはあります。本プロダクトは指定時刻に電話が鳴るアプリで会食から退出しやすくするアイデアを基にし、VC版としての利用を想定しています。

デモ

Peek

機能

  • 時分単位で通話切断予約
    • 指定時刻にVCから切断
    • 指定時間後にVCから切断
  • 通話切断3分前、切断時にDMで通知
  • 自分の予約を全削除
  • BotのVC参加
    • 切断3分前に機械音声で通知

要件

  • Python >= 3.9
    • Python 3.8以降でも動作可
      • pip等でdiscord.py[voice], python-dotenvをインストールする必要あり
  • Poetry
pip install poetry

セットアップ

1. Discord Botを作成 & サーバーに招待

インテント(Botタブ):

スコープ(OAuth2タブ):

権限(OAuth2タブ):

詳細は こちら

メモ: Bot TOKEN

2. .env ファイルを作成、トークンを入力

プロジェクトフォルダ下で.envファイルを以下のように作成し、Discord Botのトークンを入力

# Example
TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

3. Pythonモジュールの導入

プロジェクトフォルダ下で

poetry install

5. Botを起動

プロジェクトフォルダ下で

poetry run bot

Botがオンライン状態になっていることを確認

使い方(コマンド)

Botをsnipebotとして進める。(@snipebotはメンション)

■ 通話切断予約

指定時刻に切断予約(コマンド末尾のメンションで複数ユーザ指定)

@snipebot reserve XX:XX

指定時間後に切断予約(コマンド末尾のメンションで複数ユーザ指定)

@snipebot reservein XX:XX

短縮形式

@snipebot XX:XX
  1. Botが上記メッセージに「⏰時刻」と 「⏲️時間後」のボタン付きのメッセージを返信
  2. 1分以内にいずれかのボタンを選択
    • 「⏰時刻」の場合、指定時刻に予約
    • 「⏲️時間後」の場合、指定時間後に予約

スラッシュコマンド(v0.4.0~)

/reserve XX:XX
/reservein XX:XX

※ 時間指定の例

21:30
21時30分
21 30
45分
45m
45min
23時
23H
23hour
3時間5分
5

■ 予約管理

予約を表示

@snipebot show
/schedule

自分の予約を全キャンセル(コマンド末尾のメンションで複数ユーザ指定)

@snipebot clear
/cancel

同一時刻の予約を統合(ベータ)

@snipebot showコマンドに統合

■ 音声関連

BotをVCに参加(ベータ)

@snipebot connect

BotをVCから退出(ベータ)

@snipebot disconnect

ノート

  • イベントループの改良
  • 複数サーバー招待への対応
  • タイムゾーンの複数対応
  • 音声周りの見直し
  • 予約統合方法の見直し
  • スラッシュコマンド対応
  • ボタン対応

ライセンス

"snipe" is under MIT license.

About

通話強制切断DiscordBot

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages