47 lines
1.3 KiB
Python
Executable File
47 lines
1.3 KiB
Python
Executable File
# discord_tools/scripts/dm_opener.py
|
|
|
|
import os
|
|
import sys
|
|
|
|
# Add the parent directory to the Python path
|
|
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
project_root = os.path.dirname(os.path.dirname(script_dir))
|
|
sys.path.insert(0, project_root)
|
|
|
|
from discord_tools.utils.api_utils import make_discord_request
|
|
from discord_tools.config.settings import ERROR_MESSAGES
|
|
|
|
def open_dm(recipient_id):
|
|
"""
|
|
Opens a Discord DM channel using the recipient's user ID.
|
|
|
|
:param recipient_id: The user ID of the recipient
|
|
:return: The channel ID of the created DM, or None if the request failed
|
|
"""
|
|
url = "/users/@me/channels"
|
|
data = {
|
|
"recipient_id": recipient_id
|
|
}
|
|
|
|
response = make_discord_request('POST', url, json=data)
|
|
|
|
if response:
|
|
channel_data = response.json()
|
|
channel_id = channel_data["id"]
|
|
print(f"DM channel created successfully: {channel_id}")
|
|
return channel_id
|
|
else:
|
|
print(ERROR_MESSAGES["api_error"])
|
|
return None
|
|
|
|
def main():
|
|
recipient_id = input("Enter the recipient's user ID: ")
|
|
channel_id = open_dm(recipient_id)
|
|
|
|
if channel_id:
|
|
print(f"Opened channel: {channel_id}")
|
|
else:
|
|
print("Failed to open DM channel.")
|
|
|
|
if __name__ == "__main__":
|
|
main() |