Skip to content

Instantly share code, notes, and snippets.

@cignoir
Created January 23, 2013 07:27
Show Gist options
  • Save cignoir/662a65386eea5676f6ef to your computer and use it in GitHub Desktop.
Save cignoir/662a65386eea5676f6ef to your computer and use it in GitHub Desktop.
package jp.cignoir
import org.jibble.pircbot.PircBot
import org.jibble.pircbot.TrustingSSLSocketFactory
import com.skype.connector.Connector
import com.skype.ChatMessage
import com.skype.ChatMessageAdapter
import com.skype.ChatMessageListener
import com.skype.Skype
import com.skype.SkypeException
object SkypeIrcBot extends App {
Connector.useJNIConnector(true)
Skype.setDebug(true)
val bot = new SkypeIrcBot("cigbot", Settings.version, Settings.isVerbose)
bot.connect(Settings.host, Settings.port, Settings.password, new TrustingSSLSocketFactory)
bot.joinChannel("#cignoir")
Skype.addChatMessageListener(new ChatMessageAdapter() {
override def chatMessageReceived(message: ChatMessage) {
try {
val content = message.getContent
bot.sendNotice("#cignoir", message.getChat.getWindowTitle + ": " + message.getSenderDisplayName + " : " + message.getContent)
} catch {
case se: SkypeException => println(se.printStackTrace)
}
}
}.asInstanceOf[ChatMessageListener])
while (true) { Thread.sleep(Long.MaxValue) }
}
class SkypeIrcBot(val nick: String, val version: String, val isVerbose: Boolean) extends PircBot {
setVerbose(isVerbose)
setName(nick)
setVersion(version)
override def onMessage(channel: String, sender: String, login: String, hostname: String, message: String) {
}
override def onJoin(channel: String, sender: String, login: String, hostName: String) {
op(channel, sender)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment