Question: ```
const human = {
    name: "asdasd",
    mouth: {
        sayName(){
            console.log(this.name)
        }
    }
}

human.mouth.sayName()
// undefined

```

HELLO!
I need the name field to be taken from the parent object
THANK YOU!

Answer: 
You're using a function called `check`, and it doesn't exist - like your error is telling you. There's one in your class, but that isn't in the same scope so you can't just call it using its name.

To access a method in a class, use `self.<name>`.

Also, you should only *pass the check function*, not *call* it.

```py
(..., check=self.check

```

**EDIT** the code in the original question was edited. You're not loading your cogs asynchronously. Extensions & cogs were made async in 2.0. Docs: <https://discordpy.readthedocs.io/en/stable/migrating.html#extension-and-cog-loading-unloading-is-now-asynchronous>
Put this code in your `@commands.Cog.listener()` decorator, and the code will work if your cogs loader is working. If you would like me to show you my cogs loader, I can.

```py
accept = '✅'
decline = ''

def check(reaction, user):
  return user == author

messsage = await ctx.send("test")
await message.add_reaction(accept)
await message.add_reaction(decline)

reaction = await self.bot.wait_for("reaction_add", check=check)

if str(reaction[0]) == accept:
  await ctx.send("Accepted")
elif str(reaction[0]) == decline:
  await ctx.send("Denied") 

```