#python #discord #discord.py #discord.py-rewrite
#python #Discord #discord.py
Вопрос:
Я пытаюсь создать роль, которая постоянно меняет цвет. Я использую discord.py переписать.
Несколько часов назад это работало, теперь я в замешательстве, потому что это больше не работает. Я ничего не изменил.
Вот мой код:
import discord
import asyncio
from discord.ext import commands
bot = commands.Bot(command_prefix='?', description="description")
@bot.event
async def on_ready():
print('Logged in as')
print(bot.user.name)
print(bot.user.id)
print('------')
@bot.command()
async def rgb(ctx, time: int):
colours = [0xFF0000, 0x00FF00, 0x0000FF]
i = 0
selectedrole = ctx.guild.get_role(748128282859274251)
while True:
i = (i 1) % 3
print("This is printed")
await selectedrole.edit(colour=discord.Colour(colours[i]))
print("This will not be printed")
await asyncio.sleep(time)
bot.run('xxxxx')
Он не запускает эту строку кода и просто останавливается (программа все еще запущена, ничего не происходит)
ожидание выбранной роли.редактировать (цвет = discord.Цвет(цвета[i]))
Комментарии:
1. Какие ошибки у вас есть?
2. Ошибок нет
3. Никогда не указывайте свой токен бота ни в каком коде.
4. Я изменил токен на что-то случайное. Это не мое. 😉
Ответ №1:
Это потому, что ваш бот рассылает спам по API, поэтому код редактирования никогда не будет получен. Вы можете попробовать удалить роль, если обнаружена ошибка тайм-аута, и снова создать роль, что может немного помочь, но в любом случае вам следует избегать рассылки спама через API, поскольку это может привести к удалению вашей учетной записи бота.
Ответ №2:
Да, вам нужно встроить таймер, и я бы не позволил этому меняться по команде. Но имейте в виду, что Discord не любят Радужные роли или, по крайней мере, не любили их еще в 2018 году. Я не получил никакой другой информации. [https://twitter.com/discord/status/1055182857709256704?s=20 ]
кстати. вероятно, вам придется изменить свой токен бота, потому что вы слили его сюда, но в любом случае вот код.
import asyncio
from discord.ext import commands
bot = commands.Bot(command_prefix='?', description="description")
TOKEN = 'YOUR NEW TOKEN'
@bot.event
async def on_ready():
print('Logged in as')
print(bot.user.name)
print(bot.user.id)
print('------')
@bot.command()
async def rgb(ctx):
colours = [0xFF0000, 0x00FF00, 0x0000FF]
i = 0
selectedrole = ctx.guild.get_role(101010101010101)
while True:
await asyncio.sleep(10)
i = (i 1) % 3
print("Color changed")
await selectedrole.edit(colour=discord.Colour(colours[i]))
bot.run(TOKEN)
Комментарии:
1. Я изменил токен на что-то случайное. Это не мое. 😉