Ich mache gerade einen Disocrd-Bot, und eine Funktion davon ist ein sehr schnelles Update (um Ausfallzeiten zu minimieren). Um dies zu tun, haben wir innerhalb des Neustart-Skripts einen Code, der überprüft, ob ein USB-Gerät gemountet ist, und wenn dies der Fall ist, müssen die darin enthaltenen Dateien in den Bots-Ordner verschoben werden und aktualisieren den Bot entsprechend.Python: Dateien kopieren, um Orte abhängig von ihrem Namen festzulegen
async def cmd_restart(self, channel):
await self.safe_send_message(channel, ":wave:")
await self.disconnect_all_voice_clients()
if os.path.exists(/dev/[usb ID]/Update.zip):
zip_ref = zipfile.ZipFile(/dev/[usb ID]/Update.zip, 'r')
zip_ref.extractall(/root/MusicBot/musicbot)
zip_ref.close()
raise exceptions.RestartSignal
Die Frage ist, wie der Bot die Dateien in mehrere Ordner migriert gewachsen sind, und dieses Skript nicht tut mehr den Job. Wir müssen die Dateien an verschiedenen Orten extrahieren, je nachdem, wie sie heißen.
Zum Beispiel würde "bot.py" in den musicbot-Ordner gehen, während config.ini in den config-Ordner gehen würde, und beide würden ihre Gegenstücke in den Ordnern ersetzen.
Aufgrund der Natur des Bots werden niemals neue Dateien erstellt, nur vorhandene Dateien werden ersetzt.
Verzeihen Sie mir für das Wandern, Es fühlt sich übermäßig kompliziert zu erklären.
Dank, die perfekt gearbeitet – DNA