Wie sende ich in discord.py, flask-socketio und flask eine Datei von einem Listening-Socket an den Server?Python

Python-Programme
Guest
 Wie sende ich in discord.py, flask-socketio und flask eine Datei von einem Listening-Socket an den Server?

Post by Guest »

Ich habe bereits versucht, verschiedene Methoden mit asynchronen Funktionen und Planungsaufgaben sowie Ereignisschleifen zu verwenden. Ich weiß nicht, was ich tun soll. Der folgende Code ist der Socket, der die hochgeladene Datei empfängt und auf Discord veröffentlicht. Wenn Sie weitere Details/Kontext benötigen, kann ich den vollständigen Python-Code für mein Projekt veröffentlichen.

Code: Select all

@socketio.on('upload')
def handle_upload(data):
try:
random_id = str(random.randint(1000000000, 9999999999))
username = "skyrocketer"
file = data['file']
filename = data['filename']
file_path = os.getcwd() + '/static/' + f'{random_id}-' + filename

socketio.emit('progress', {'percent': '25'})

with sqlite3.connect('ddrv.db') as conn:
cursor = conn.cursor()
cursor.execute("INSERT INTO files (user, file_id, file_name) VALUES (?, ?, ?)", (username, random_id, filename))
conn.commit()

socketio.emit('progress', {'percent': '50'})

with open(file_path, 'wb') as f:
f.write(file)
socketio.emit('progress', {'percent': '75'})

channel = bot.get_channel("channel id")
with open(file_path, 'rb') as f:
discord_file = discord.File(f)
channel.send(file=discord_file)

socketio.emit('progress', {'percent': '100'})

except Exception as e:
print(f"Error handling upload: {e}")
socketio.emit('progress', {'percent': 'failed'})

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post