При запуске бота для Discord'а выдает ошибку
import aiohttp
import discord
bot = "токен"
SERVER_GUID = "да."
class LivePlayercountBot(discord.Client):
async def on_ready(self):
print(f"Logged on as {self.user}\n" f"Started monitoring server {SERVER_GUID}")
status = ""
async with aiohttp.ClientSession() as session:
while True:
newstatus = await get_playercount(session)
if newstatus != status:
await self.change_presence(activity=discord.Game(newstatus))
status = newstatus
await asyncio.sleep(10)
async def get_playercount(session):
try:
url = f"https://aternos.org/log/{SERVER_GUID}"
async with session.get(url) as r:
page = await r.json()
max_slots = page\["snapshot"\]\["maxPlayers"\]
true_playercount = 0
for n in range(5):
try:
true_playercount += len(page\["snapshot"\]\["teamInfo"\]\[str(n)\]\["players"\])
except KeyError:
pass
return f"{true_playercount}/{max_slots}"
except Exception as e:
print(f"Error getting data from log: {e}")
if __name__ == "__main__":
assert sys.version_info >= (3, 7)
assert SERVER_GUID and bot
print("Initiating bot")
LivePlayercountBot().run(bot)][1]][1]
Ответы (1 шт):
Автор решения: Недокодер
→ Ссылка
Конечно не профи в создании ботов для Discord,
Но с ошибки всё довольно ясно и понятно что вы в данной строке
LivePlayercountBot().run(bot)][1]][1]
Не указали аргумент intents
intents (Intents) –
he intents that you want to enable for the session.
This is a way of disabling and >
enabling certain gateway events from triggering and being sent.
New in version 1.5.
Changed in version 2.0: Parameter is now required.
Как видно в версии 2.0 данный параметр стал обязательним Советую подробнее прочитать тут
PS: Советую по таким мелочам не создавать вопросы, так как вы легко можете найти сами на него ответ и намного быстрее чем ждать ответ на вопрос
