0
votes

I recently started trying to develop a discord bot. I've used c++ before, but it's my first time using python so i'm still pretty new to it. After learning about cogs, i tried to implement it into the code. I made a simple cog that contains a ping command, but when i try to run it, i get an error saying that 'client' was not identified. This is the code in the cog file:

import discord
from discord.ext import commands

#initializing
class Commands(commands.Cog):
  def __init__(self, client):
    self.client = client
  
  @commands.command(aliases=['hi','hello','test'])
  async def ping(self, ctx):
    await ctx.send(f'Pong! Your request took {round(client.latency * 1000)}') #says 'client' was not idenified

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

This is the code of the main.py file:

import discord
import os
from discord.ext import commands

client = commands.Bot(command_prefix='trs-')


@client.command()
async def reload(ctx, extension):
    client.unload_extension(f'cogs.{extension}')
    client.load_extension(f'cogs.{extension}')


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

@client.event
async def on_ready():
  print(f'Bot is online. Logged in as {client.user.name}')
  await client.change_presence(status=discord.Status.online)
  await client.change_presence(activity=discord.Game("with my creator's mind"))

client.run(token goes here)

I tried putting the client = commands.Bot(command_prefix='trs-') in the cog file and it runs fine, but the when i try to run the ping command on discord i get an error in the console saying ValueError: cannot convert float NaN to integer from the await ctx.send line.

I can't seem to fix this, can someone please tell me what i'm doing wrong?

1

1 Answers

0
votes

The error caused is because you are trying to convert client.latency to an integer, as client.latency is returning a value of None. It will error out.