as for the parameter types.. sadly TS doesn't let us strictly type that to the point where you don't need to specify the actual types (i.e. it's inferred) (we really would want to!) but if you use
Listener<typeof Events.GuildCreate>
Listener<typeof Events.GuildCreate>
then in your
run
run
you have parameters of incorrect types, TS will tell you this.