 
     // swiftlint:disable force_try
     private let kusaRegexp = try! NSRegularExpression(pattern: "^(w|W|ｗ|Ｗ){1,}$", options: [])
+    private let waraRegexp = try! NSRegularExpression(pattern: "^.+(w|W|ｗ|Ｗ){1,}$", options: [])
     private let aRegexp = try! NSRegularExpression(pattern: "^あ$", options: [])
+    private let eRegexp = try! NSRegularExpression(pattern: "^え$", options: [])
     private let noRegexp = try! NSRegularExpression(pattern: "^ノ$", options: [])
     // swiftlint:enable force_try
 }

        // Is matched in these?: "ｗ", "ｗｗ", ..., "あ", "ノ"
        return (
            comment.isMatched(regexp: kusaRegexp) ||
                comment.isMatched(regexp: aRegexp) ||
                comment.isMatched(regexp: noRegexp)
        )
    }

    func debugLog(rate: Double) {
        log.debug("========= ========= ========= ========= ========= =========")
        log.debug("rate:\(Int(rate * 100)), count:\(chats.count), last:\(chats.last?.comment ?? "")")
        chats.forEach {
            log.debug("\(isKusaComment($0.comment)), \($0.comment)")
        }
    }
}

extension String {

    }

    func calcurateKusaRate() -> Double {
        if chats.isEmpty || chats.count < 5 {
            return 0
        }
        let kusaChats = chats.filter { isKusaComment($0.comment) }
