Overview
Right now, the queue data structure exists as a member of the bot object. This makes it hard to use python's type checking effectively. It also violates the principle of high cohesion and low coupling. It's also just confusing to have it exist as a member of the bot. If possible, anything not used internally by the bot client (non-private methods and objects) should not be coupled to the bot and should exist independently of it. This might not be possible in every scenario due to the possibility of circular imports.
Overview
Right now, the queue data structure exists as a member of the bot object. This makes it hard to use python's type checking effectively. It also violates the principle of high cohesion and low coupling. It's also just confusing to have it exist as a member of the bot. If possible, anything not used internally by the bot client (non-private methods and objects) should not be coupled to the bot and should exist independently of it. This might not be possible in every scenario due to the possibility of circular imports.