@@ -6,8 +6,8 @@ import java.util.Currency
66
77import org .codeoverflow .chatoverflow .WithLogger
88import org .codeoverflow .chatoverflow .api .io .dto .User
9- import org .codeoverflow .chatoverflow .api .io .dto .stat .stream .tipeeestream .{ TipeeestreamDonation , TipeeestreamFollow , TipeeestreamProvider , TipeeestreamSubscription }
10- import org .codeoverflow .chatoverflow .api .io .event .stream .tipeeestream .{ TipeeestreamDonationEvent , TipeeestreamEvent , TipeeestreamFollowEvent , TipeeestreamSubscriptionEvent }
9+ import org .codeoverflow .chatoverflow .api .io .dto .stat .stream .tipeeestream ._
10+ import org .codeoverflow .chatoverflow .api .io .event .stream .tipeeestream ._
1111import org .codeoverflow .chatoverflow .api .io .input .event .TipeeestreamEventInput
1212import org .codeoverflow .chatoverflow .registry .Impl
1313import org .codeoverflow .chatoverflow .requirement .impl .EventInputImpl
@@ -24,6 +24,7 @@ class TipeeestreamEventInputImpl extends EventInputImpl[TipeeestreamEvent, Tipee
2424 sourceConnector.get.registerEventHandler(onFollow _)
2525 sourceConnector.get.registerEventHandler(onSubscription _)
2626 sourceConnector.get.registerEventHandler(onDonation _)
27+ sourceConnector.get.registerEventHandler(onCheer _)
2728 true
2829 }
2930
@@ -87,6 +88,26 @@ class TipeeestreamEventInputImpl extends EventInputImpl[TipeeestreamEvent, Tipee
8788 }
8889 }
8990
91+ private def onCheer (eventJson : CheerEventJSON ): Unit = {
92+ try {
93+ val event = eventJson.json
94+ val parameter = event.getJSONObject(" parameters" )
95+ val user = new User (parameter.getString(" username" ))
96+ val time = OffsetDateTime .parse(event.getString(" created_at" ), DATE_FORMATTER )
97+ val amount = event.getInt(" formattedAmount" )
98+ val message = parameter.getString(" formattedMessage" )
99+ val cheer = new TipeeestreamCheer (user, amount, message, time)
100+ call(new TipeeestreamCheerEvent (cheer))
101+ } catch {
102+ case e : JSONException =>
103+ logger warn " Error while parsing follow json:"
104+ logger warn s " ${e.getClass.getName} - ${e.getMessage}"
105+ case e : IllegalArgumentException =>
106+ logger warn " Error while parsing follow json:"
107+ logger warn s " ${e.getClass.getName} - ${e.getMessage}"
108+ }
109+ }
110+
90111 override def stop (): Boolean = {
91112 sourceConnector.get.unregisterAllEventListeners
92113 true
0 commit comments