[PYTHON] J'ai essayé de sauvegarder les données avec discorde

Téléchargez le fichier sur le canal Discord et récupérez-le (Parce qu'il a été fait par un débutant, il peut y avoir quelque chose d'étrange)

environnement

python 3.8.2 discord.py 1.5.1

La raison d'essayer de faire

J'aimerais pouvoir enregistrer les données avec discorde Puisqu'il fonctionne sur heroku, il redémarrera automatiquement dans environ 24 heures. Donc, lorsque vous enregistrez le fichier, il disparaît La seule façon de l'utiliser est de louer un serveur de données. Je ne comprends pas même si je regarde divers articles ... Vous devriez pouvoir télécharger des fichiers avec discorde ici ... Je l'ai créé comme ça

Création de BOT

Tout d'abord, si vous ne savez pas ce qu'est discord.py, veuillez vous référer ici https://qiita.com/1ntegrale9/items/9d570ef8175cf178468f

configuration de base

Tout d'abord, on suppose que le réglage du BOT, etc. est terminé et qu'il peut être utilisé Ensuite, créez un canal pour enregistrer les données Tout nom va bien Ensuite, le fichier le plus important à enregistrer Créez le fichier avec json C'est le fichier json utilisé cette fois

{
"goban":[
12345, 
123456, 
1234678
 ]
}

Code à charger en premier

Tout d'abord, voici le code pour lire le fichier

@bot.event
async def on_ready():
    mass =  bot.get_channel(ID de la chaîne créée)
    id = mass.last_message_id
    msg = await mass.fetch_message(id)
    await msg.attachments[0].save("goban.json")

Voici le code à charger et enregistrer Veuillez changer le nom pour enregistrer vous-même Après cela, ouvrez le fichier après le code de celui-ci et mettez-le dans la liste, etc. Vous pouvez l'utiliser lorsque vous le mettez Veuillez ajouter selon le but de l'utilisation

Code à ajouter au fichier

Voici le code à ajouter au fichier

@bot.command()
async def tui(ctx,ss): 
    global motolist
    with open("goban.json", "r",encoding="utf-8") as moto:

        moto = json.load(moto)
        for da in (moto['goban']):
            motolist += [f"{da}"] 

Tout d'abord, si vous essayez de l'ajouter à json, il sera écrasé. Ensuite, vous ne pouvez pas l'utiliser, ouvrez d'abord le fichier et ajoutez-le à la liste etc. Le prochain code important à ajouter


    with open("goban.json","w",encoding="utf-8") as data:                     
        data.write('{\n')   
        data.write('"goban":[\n')  
        for moto in motolist: 
                data.write(f'"{str(moto)}"')
            data.write(", \n")
        data.write(f'"{ss}"\n ]')    
        data.write('\n}')                

  
    await bot.get_channel(ID de chaîne créé).send(file=discord.File('goban.json'))

Si vous connectez ceci au code précédent, cela ressemblera à ceci


@bot.command()
async def tui(ctx,ss): 
    global motolist
    with open("goban.json", "r",encoding="utf-8") as moto:

        moto = json.load(moto)
        for da in (moto['goban']):
            motolist += [f"{da}"] 
    with open("goban.json","w",encoding="utf-8") as data:                     
        data.write('{\n')   
        data.write('"goban":[\n')  
        for moto in motolist: 
                data.write(f'"{str(moto)}"')
            data.write(", \n")
        data.write(f'"{ss}"\n ]')    
        data.write('\n}')                

  
    await bot.get_channel(ID de chaîne créé).send(file=discord.File('goban.json'))

Maintenant, vous pouvez ajouter ou librement Vous pouvez le mettre à jour en le rouvrant après cela. Si vous connectez tous les cordons jusqu'à présent

import discord
from discord.ext import commands

import json


bot = commands.Bot(command_prefix='.')

client = discord.Client()
motolist = []



@bot.event
async def on_ready():
    mass =  bot.get_channel()ID de chaîne créé)

    id = mass.last_message_id
    msg = await mass.fetch_message(id)
    await msg.attachments[0].save("goban.json")
 


@bot.command()
async def tui(ctx,ss): 
    global motolist
    with open("goban.json", "r",encoding="utf-8") as moto:

        moto = json.load(moto)
        for da in (moto['goban']):
            motolist += [f"{da}"]
    with open("goban.json","w",encoding="utf-8") as data:                     #Su
        data.write('{\n')   
        data.write('"goban":[\n')  
        for moto in motolist: 
            data.write(f'"{str(moto)}"')
            data.write(", \n")

        data.write(f'"{ss}"\n ]')    
        data.write('\n}')                
          

        
   
    await bot.get_channel(ID de chaîne créé).send(file=discord.File('goban.json'))
    motolist = []

bot.run("TOKEN")

finalement

C'est un programme utilisé par les débutants en python. s'il vous plaît dites-moi

Recommended Posts

J'ai essayé de sauvegarder les données avec discorde
J'ai essayé d'obtenir des données CloudWatch avec Python
J'ai essayé d'utiliser Linux avec Discord Bot
J'ai essayé d'entraîner la fonction péché avec chainer
J'ai essayé de lire et d'enregistrer automatiquement avec VOICEROID2 2
J'ai essayé de prédire le match de la J League (analyse des données)
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé de lire et d'enregistrer automatiquement avec VOICEROID2
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai essayé de déplacer le ballon
J'ai essayé d'estimer la section.
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé de simuler la propagation de l'infection avec Python
J'ai essayé d'analyser les émotions de tout le roman "Weather Child" ☔️
J'ai essayé de créer diverses "données factices" avec Python faker
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai essayé de notifier les informations de retard de train avec LINE Notify
J'ai essayé de visualiser les données de course du jeu de course (Assetto Corsa) avec Plotly
J'ai essayé d'implémenter Autoencoder avec TensorFlow
J'ai essayé de résumer la commande umask
J'ai essayé de visualiser AutoEncoder avec TensorFlow
J'ai essayé de reconnaître le mot de réveil
J'ai essayé l'analyse factorielle avec des données Titanic!
J'ai essayé de résumer la modélisation graphique.
J'ai essayé d'estimer le rapport de circonférence π de manière probabiliste
J'ai essayé de toucher l'API COTOHA
J'ai essayé d'implémenter CVAE avec PyTorch
J'ai essayé de jouer avec l'image avec Pillow
J'ai essayé de résoudre TSP avec QAOA
J'ai essayé de décrire le trafic en temps réel avec WebSocket
J'ai essayé de résoudre l'édition du débutant du livre des fourmis avec python
Enregistrez le résultat de l'exploration avec Scrapy dans Google Data Store
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
J'ai essayé de traiter l'image en "style croquis" avec OpenCV
[Pandas] J'ai essayé d'analyser les données de ventes avec Python [Pour les débutants]
J'ai essayé de démarrer avec Bitcoin Systre le week-end
J'ai essayé de traiter l'image dans un "style de dessin au crayon" avec OpenCV
J'ai essayé d'agrandir la taille du volume logique avec LVM
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
J'ai essayé d'afficher les données du groupe de points DB de la préfecture de Shizuoka avec Vue + Leaflet
J'ai essayé d'analyser les données du tournoi de football de la Coupe du monde de football en Russie avec l'action de football
J'ai essayé de prédire l'année prochaine avec l'IA
[Python] J'ai essayé de visualiser la nuit du chemin de fer de la galaxie avec WordCloud!
J'ai essayé Web Scraping pour analyser les paroles.
J'ai essayé d'implémenter la lecture de Dataset avec PyTorch
J'ai essayé d'utiliser lightGBM, xg boost avec Boruta
[Bases de la science des données] J'ai essayé d'enregistrer de csv à mysql avec python
J'ai essayé d'apprendre le fonctionnement logique avec TF Learn
J'ai essayé de déplacer GAN (mnist) avec keras
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé de détecter rapidement un mouvement avec OpenCV
J'ai essayé d'intégrer Keras dans TFv1.1
Je veux frapper 100 sciences des données avec Colaboratory
Je voulais jouer avec la courbe de Bézier
J'ai essayé d'analyser les principaux composants avec les données du Titanic!
Enregistrez les données pour flasher avec la carte Nucleo STM32
765 J'ai essayé d'identifier les trois familles professionnelles par CNN (avec Chainer 2.0.0)