Skip to content
This repository was archived by the owner on Aug 18, 2020. It is now read-only.

Commit 22a3fab

Browse files
committed
Merge remote-tracking branch 'origin/develop' into develop
2 parents 94784c5 + 88dffc7 commit 22a3fab

File tree

4 files changed

+13
-2
lines changed

4 files changed

+13
-2
lines changed

src/main/scala/org/codeoverflow/chatoverflow/requirement/service/twitch/chat/TwitchChatConnectListener.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class TwitchChatConnectListener(fn: (Boolean, String) => Unit) extends ListenerA
1414
override def onEvent(event: Event): Unit = {
1515
event match {
1616
case _: ConnectEvent => fn(true, "")
17-
case e: ConnectAttemptFailedEvent => fn(false, "couldn't connect to irc chat server")
17+
case _: ConnectAttemptFailedEvent => fn(false, "couldn't connect to irc chat server")
1818
case e: NoticeEvent =>
1919
if (e.getNotice.contains("authentication failed")) {
2020
fn(false, "authentication failed")

src/main/scala/org/codeoverflow/chatoverflow/requirement/service/twitch/chat/TwitchChatConnector.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ class TwitchChatConnector(override val sourceIdentifier: String) extends Connect
5353

5454
def isJoined(channel: String): Boolean = channels.contains(channel)
5555

56+
def getUsername: String = bot.getNick
57+
5658
private def getConfig: Configuration = {
5759

5860
if (credentials.isDefined) {

src/main/scala/org/codeoverflow/chatoverflow/requirement/service/twitch/chat/impl/TwitchChatInputImpl.scala

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class TwitchChatInputImpl extends EventInputImpl[TwitchEvent, chat.TwitchChatCon
3030
private val emoticonRegex = """(\d+)-(\d+)""".r
3131

3232
private var currentChannel: Option[String] = None
33+
private var ignoreOwnMessages = false
3334

3435
private val onMessageFn = onMessage _
3536
private val onUnknownFn = onUnknown _
@@ -41,7 +42,9 @@ class TwitchChatInputImpl extends EventInputImpl[TwitchEvent, chat.TwitchChatCon
4142
}
4243

4344
private def onMessage(event: MessageEvent): Unit = {
44-
if (currentChannel.isDefined && event.getChannelSource == currentChannel.get) {
45+
if (currentChannel.isDefined && event.getChannelSource == currentChannel.get
46+
&& (!ignoreOwnMessages || event.getUser.getNick.toLowerCase != getUsername)) {
47+
4548
val message = event.getMessage
4649
val color = if (event.getV3Tags.get("color").contains("#")) event.getV3Tags.get("color") else ""
4750
val subscriber = event.getV3Tags.get("subscriber") == "1"
@@ -103,6 +106,10 @@ class TwitchChatInputImpl extends EventInputImpl[TwitchEvent, chat.TwitchChatCon
103106
if (!sourceConnector.get.isJoined(currentChannel.get)) sourceConnector.get.joinChannel(currentChannel.get)
104107
}
105108

109+
override def getUsername: String = sourceConnector.get.getUsername
110+
111+
override def ignoreOwnMessages(ignore: Boolean): Unit = this.ignoreOwnMessages = ignore
112+
106113
/**
107114
* Stops the input, called before source connector will shutdown
108115
*

src/main/scala/org/codeoverflow/chatoverflow/requirement/service/twitch/chat/impl/TwitchChatOutputImpl.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ class TwitchChatOutputImpl extends OutputImpl[chat.TwitchChatConnector] with Twi
2929
if (!sourceConnector.get.isJoined(currentChannel.get)) sourceConnector.get.joinChannel(currentChannel.get)
3030
}
3131

32+
override def getUsername: String = sourceConnector.get.getUsername
33+
3234
/**
3335
* Stops the output, called before source connector will shutdown
3436
*

0 commit comments

Comments
 (0)