Не могу создать рандомайзер для дискорд бота
Я Новичок в python и решил сделать бота для своего дс сервера. Итак, нужно чтобы по команде randomize бот писал в канал: "введите переменные" и затем ждал ответа от пользователя. Затем считывал текст сообщения по строкам и из этих переменных выбирал одну и отправлял в чат. (за коги не шарю)
вот код: `
import os
import discord
import random
from discord.ext import commands
PREFIX = "-"
client = commands.Bot(command_prefix='-', intents=discord.Intents.all())
client.remove_command('help')
# cogs loader
@client.command()
async def load(ctx, extension):
if ctx.author.id == 360406449685266432:
client.load_extension(f"cogs.{extension}")
await ctx.send("cogs is loaded...")
else:
await ctx.send("ты же не разработчик")
# cogs unloader
@client.command()
async def unload(ctx, extension):
if ctx.author.id == 360406449685266432:
client.unload_extension(f"cogs.{extension}")
await ctx.send("cogs is unloaded...")
else:
await ctx.send("ты же не разработчик")
# cogs reloader
@client.command()
async def reload(ctx, extension):
if ctx.author.id == 360406449685266432:
client.unload_extension(f"cogs.{extension}")
client.load_extension(f"cogs.{extension}")
await ctx.send("cogs is reloaded...")
else:
await ctx.send("ты же не разработчик")
for filename in os.listdir("./cogs"):
if filename.endswith(".py"):
client.load_extension(f"cogs.{filename[:-3]}")
# words
hello_words = ['hello', 'hi', 'хай', 'привет']
answer_words = ['инфо', 'команды', 'info', 'help', 'commands']
goodbye_words = ['бб', 'пока', 'покау', 'удачи', 'адьос']
@client.event
async def on_ready():
print('я здесь!')
# Clear message
@client.command(pass_context = True)
async def clear(ctx, amount = 100):
await ctx.channel.purge(limit = amount)
await ctx.send("Успешно очистил " + str(amount) + " сообщений.")
@client.event
async def on_message(message):
await client.process_commands(message)
msg = message.content.lower()
if msg in hello_words:
await message.channel.send('даров,что нужно?')
if msg in answer_words:
await message.channel.send('команд еще нет')
if msg in goodbye_words:
await message.channel.send('давай пока)')
# help Message
@client.command(pass_context = True)
async def help(ctx):
emb = discord.Embed(tittle='Команды:')
emb.add_field(name='{}clear'.format(PREFIX), value='очистка чата')
await ctx.send(embed=emb)
# randomize
#тут код
# connect
token = open('TOKEN.txt', 'r').readline()
client.run(token)
`
Ответы (1 шт):
Автор решения: RAINGM
→ Ссылка
import os
import discord
import random
from discord.ext import commands
PREFIX = "-"
client = commands.Bot(command_prefix='-', intents=discord.Intents.all())
client.remove_command('help')
# cogs loader
@client.command()
async def load(ctx, extension):
if ctx.author.id == 360406449685266432:
client.load_extension(f"cogs.{extension}")
await ctx.send("cogs is loaded...")
else:
await ctx.send("ты же не разработчик")
# cogs unloader
@client.command()
async def unload(ctx, extension):
if ctx.author.id == 360406449685266432:
client.unload_extension(f"cogs.{extension}")
await ctx.send("cogs is unloaded...")
else:
await ctx.send("ты же не разработчик")
# cogs reloader
@client.command()
async def reload(ctx, extension):
if ctx.author.id == 360406449685266432:
client.unload_extension(f"cogs.{extension}")
client.load_extension(f"cogs.{extension}")
await ctx.send("cogs is reloaded...")
else:
await ctx.send("ты же не разработчик")
for filename in os.listdir("./cogs"):
if filename.endswith(".py"):
client.load_extension(f"cogs.{filename[:-3]}")
# words
hello_words = ['hello', 'hi', 'хай', 'привет']
answer_words = ['инфо', 'команды', 'info', 'help', 'commands']
goodbye_words = ['бб', 'пока', 'покау', 'удачи', 'адьос']
@client.event
async def on_ready():
print('я здесь!')
# Clear message
@client.command(pass_context = True)
async def clear(ctx, amount = 100):
await ctx.channel.purge(limit = amount)
await ctx.send("Успешно очистил " + str(amount) + " сообщений.")
@client.event
async def on_message(message):
await client.process_commands(message)
msg = message.content.lower()
if msg in hello_words:
await message.channel.send('даров,что нужно?')
if msg in answer_words:
await message.channel.send('команд еще нет')
if msg in goodbye_words:
await message.channel.send('давай пока)')
# help Message
@client.command(pass_context = True)
async def help(ctx):
emb = discord.Embed(tittle='Команды:')
emb.add_field(name='{}clear'.format(PREFIX), value='очистка чата')
await ctx.send(embed=emb)
# randomize
@client.command()
async def randomize(ctx):
import random
def check(m):
return m.author == ctx.author and m.channel == ctx.channel
msg = await ctx.send('Введите переменные:')
args = await client.wait_for('message', timeout=60, check=check)
args = args.content
args = args.split('\n')
random_choice = random.choice(args)
await msg.delete()
await ctx.send(f"Случайная переменная: {random_choice}")
# connect
token = open('TOKEN.txt', 'r').readline()
client.run(token)