Pu sh изображений на сервер из указанных c папок через discord.py - PullRequest
0 голосов
/ 08 января 2020

У меня есть некоторые проблемы с моим ботом разногласий, я постараюсь объяснить как можно больше. Итак, у меня есть папка бота, которая содержит самого бота, и папку с именем commands, в основном это место, где хранятся мои винтики, а внутри папки commands есть папка с именем images, в которой я сохранил изображения для моего бота, чтобы выбрать случайно. проблема в том, что мне не удалось сказать боту, чтобы он брал изображения из этой указанной c папки, и вместо этого он работает, только если я помещаю изображения непосредственно в папку бота (первая папка). Я пробовал много вещей, таких как:

@commands.command()
    async def randomimage(self, ctx):
       for list os.listdir(./commands/images/):
        list = (images here)
        await ctx.send('take this', file=discord.File(random.choice(list)))

, но это тоже не помогло, я могу просто поставить / commands / images / (image) для каждого изображения, но список огромен, и я не не хочу писать путь к каждому изображению там.

бот:

#!/usr/bin/python3.6

import discord
from dotenv import load_dotenv
import random
from discord.ext import commands
import os

load_dotenv()
TOKEN = os.getenv('TOKEN')

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

#this script types "Connected!" in terminal if nothing has gone wrong    
@bot.event
async def on_ready():
   print('Connected!')        

for filename in os.listdir('./commands'):
   if filename.endswith('.py'):
      bot.load_extension(f'commands.{filename[:-3]}')

bot.run(TOKEN)

вся команда:

import discord
import os
import random
from discord.ext import commands

class randomimage(commands.Cog):

    def __init__(self, bot):
        self.bot = bot

    @commands.command()
    async def randomimage(self, ctx):
       #waiting for suggestion on this line
        list = (image list)
        await ctx.send('take this', file=discord.File(random.choice(list)))

def setup(client):
    client.add_cog(randomimage(client))

Я вроде как нуб здесь, так что любой помощь будет принята с благодарностью

1 Ответ

0 голосов
/ 09 января 2020

Я понял это. Очевидно, ответ был так же прост, как и смена каталога, буквально

Я использовал os.chdir('./commands/images'), и это сработало.

Редактировать: Видимо, я был неправ, и это тоже не сработало

...