はじめに
こんにちは。
たまに友達にめちゃくちゃないたずらしたくなる時ってありますよね?
今回はそんないたずら心をDiscord内で実現するためにDiscordでサウンドボードの音量をバグらせる方法を伝授しようと思います!
バグらせるためのコード
import requests
import base64
import mimetypes
class Sound:
def __init__(self, name, sound_id, volume, emoji_id, override_path):
self.name = name
self.id = sound_id
self.volume = volume
self.emoji_id = emoji_id
self.override_path = override_path
class Soundboard:
def __init__(self, token, guild_id):
self.token = token
self.guild_id = guild_id
self.headers = {
"Authorization": self.token,
"content-type": "application/json"
}
@staticmethod
def encode(sound_file):
with open(sound_file, "rb") as sound:
encoded = base64.b64encode(sound.read()).decode('utf-8')
content_type = mimetypes.guess_type(sound_file)[0]
return f"data:{content_type};base64,{encoded}"
def upload_sound(self, sound_file, name, emoji_id, volume):
endpoint = f"https://discord.com/api/v9/guilds/{self.guild_id}/soundboard-sounds"
encoded = self.encode(sound_file)
data = {
"name": name,
"emoji_id": emoji_id,
"volume": volume,
"sound": encoded
}
res = requests.post(endpoint, json=data, headers=self.headers)
if res.status_code in [200, 201]:
data = res.json()
return Sound(
name=data["name"],
sound_id=data["sound_id"],
volume=data["volume"],
emoji_id=data["emoji_id"],
override_path=data.get("override_path")
)
else:
return res
soundboard = Soundboard("Token", "サーバーID")
soundboard.upload_sound("ファイルパス", "サウンドボードの名前", None, 1)
コードの説明
Tokenと書かれている場所には自分のアカウントのTokenを貼ってください。
サーバーIDはサウンドボードをアップロードしたいサーバーに指定してください。
ファイルパスには音声ファイルのパスを(C:/users/なんちゃらかんちゃら/nifoem.mp3 みたいなやつか /home/dev/path/mpohuemn.mp3)
サウンドボードの名前はなんでもいいです。
さいごに
これで鼓膜破壊ができるようになるよ!
Twitter: @catknowk
コメント