def add_await(key, type, attributes = {}, &block)
      raise "You can't await an AwaitEvent!" if type == Discordrb::Events::AwaitEvent

      await = Await.new(self, key, type, attributes, block)
      @awaits ||= {}
      @awaits[key] = await
    end
def add_await(key, type, attributes = {}, &block)
      raise "You can't await an AwaitEvent!" if type == Discordrb::Events::AwaitEvent

      await = Await.new(self, key, type, attributes, block)
      @awaits ||= {}
      @awaits[key] = await
    end
Add an await the bot should listen to. For information on awaits, see {Await}.
 @param key [Symbol] The key that uniquely identifies the await for {AwaitEvent}s to listen to (see {#await}).
 @param type [Class] The event class that should be listened for.
 @param attributes [Hash] The attributes the event should check for. The block will only be executed if all attributes match.
 @yield Is executed when the await is triggered.
 @yieldparam event [Event] The event object that was triggered.
 @return [Await] The await that was created.
 @deprecated Will be changed to blocking behavior in v4.0. Use {#add_await!} instead.