Le fichier utilisé est placé dans ici (hors authentification) En gros, je l'ai fait pour que mes proches puissent en profiter.
En outre, il existe deux exigences personnelles pour le robot musical,
――Vous pouvez demander des chansons comme vous le souhaitez, à part vous-même
J'ai décidé d'utiliser google drive et heroku pour répondre à ces exigences.
.
├── Procfile
├── citron.py
├── client_secrets.json
├── commands.py
├── requirements.txt
├── runtime.txt
└── token.pickle
Description de chaque fichier
--citron.py: corps du bot --commands.py: Liste des commandes auxquelles le bot répond --client_secrets.json, token.pickle: lié à l'authentification Google Drive --Procfile, runtime.txt, requirements.txt: requis pour le déploiement Heroku
docker pull python:3.7
docker images
#Création de conteneurs
docker run -d -it --name python --mount type=bind,source=path/to/mydir,target=/home/ python:3.7
#Entrez dans le conteneur
docker exec -it python bash
#Les opérations suivantes dans le conteneur
python3 -m pip install -U discord.py
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
apt update
apt -y upgrade
apt install ffmpeg
J'ai installé ce dont j'avais besoin au besoin, et finalement c'est devenu comme ça. Je m'en fiche bien qu'il puisse contenir des choses inutiles.
requirements.txt
aiohttp==3.6.2
async-timeout==3.0.1
attrs==19.3.0
cachetools==4.0.0
certifi==2019.11.28
cffi==1.13.2
chardet==3.0.4
discord.py==1.3.0
google-api-python-client==1.7.11
google-auth==1.11.0
google-auth-httplib2==0.0.3
google-auth-oauthlib==0.4.1
httplib2==0.17.0
idna==2.8
multidict==4.7.4
oauth2client==4.1.3
oauthlib==3.1.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycparser==2.19
PyDrive==1.3.1
PyNaCl==1.3.0
PyYAML==5.3
requests==2.22.0
requests-oauthlib==1.3.0
rsa==4.0
six==1.14.0
uritemplate==3.0.1
urllib3==1.25.8
websockets==8.1
yarl==1.4.2
youtube-dl==2020.1.24
Discord Bot https://discordapp.com/developers/applications/ Cette fois, je vais demander à Yuzu de faire du DJ.
#Installez Heroku CLI
brew install heroku/brew/heroku
heroku login
#Création d'applications
heroku create hoge
heroku open
#Déployer
git init
heroku git:remote -a <nom de l'application heroku>
git add .
git commit -m "first commit"
git push heroku master
Ajout du pack de construction faisant référence à ici.
Après cela, je l'ai écrit régulièrement en regardant le document officiel, mais comme il était obstrué par l'authentification Google Drive, je publierai uniquement les modifications.
#Changer avant
creds = flow.run_local_server(port=0)
#Après le changement
creds = flow.run_console()
Je me demandais si cela était lié à des tests avec Docker ou à quelque chose lié au réseau, mais je ne pouvais pas le résoudre et cela a fini par être après le changement. Si quelqu'un sait, faites-le moi savoir.
Cela fonctionne comme ça.
J'aimerais faire quelque chose en utilisant DB à l'avenir. (Dites-moi les détails de la chanson, le système de recommandation, etc.)
--Paterrail: pour la surveillance des journaux
Recommended Posts