+
+;;; bot:channel-users user object accessors
+(define-public (bot:channel-user-nick cu)
+ (first cu))
+
+(define-public (bot:channel-user-user/host cu)
+ (second cu))
+
+(define-public (bot:channel-user-mode cu)
+ (third cu))
+
+(define-public (bot:channel-user-has-modes? cu . modes)
+ (let ((mode (apply logior modes)))
+ (= (logand (bot:channel-user-mode cu)) mode mode)))
+
+(define-public (bot:channel-user-op? cu)
+ (bot:channel-user-has-modes? cu bot:mode/op))
+
+(define-public (bot:channel-user-voice? cu)
+ (bot:channel-user-has-modes? cu bot:mode/voice))
+
+(define-public (bot:channel-user-away? cu)
+ (bot:channel-user-has-modes? cu bot:mode/away))