using System;
using Irc;
using UnityEngine;
using UnityEngine.UI;
public class TwitchIrcExample : MonoBehaviour
{
public InputField UsernameText;
public InputField TokenText;
public InputField ChannelText;
public Text ChatText;
public InputField MessageText;
private void Start()
{
TwitchIrc instance = TwitchIrc.Instance;
instance.OnChannelMessage = (ChannelMessage)Delegate.Combine(instance.OnChannelMessage, new ChannelMessage(OnChannelMessage));
TwitchIrc instance2 = TwitchIrc.Instance;
instance2.OnUserLeft = (UserLeft)Delegate.Combine(instance2.OnUserLeft, new UserLeft(OnUserLeft));
TwitchIrc instance3 = TwitchIrc.Instance;
instance3.OnUserJoined = (UserJoined)Delegate.Combine(instance3.OnUserJoined, new UserJoined(OnUserJoined));
TwitchIrc instance4 = TwitchIrc.Instance;
instance4.OnServerMessage = (ServerMessage)Delegate.Combine(instance4.OnServerMessage, new ServerMessage(OnServerMessage));
TwitchIrc instance5 = TwitchIrc.Instance;
instance5.OnExceptionThrown = (ExceptionThrown)Delegate.Combine(instance5.OnExceptionThrown, new ExceptionThrown(OnExceptionThrown));
}
public void Connect()
{
TwitchIrc.Instance.Username = UsernameText.text;
TwitchIrc.Instance.OauthToken = TokenText.text;
TwitchIrc.Instance.Channel = ChannelText.text;
TwitchIrc.Instance.Connect();
}
public void MessageSend()
{
if (!string.IsNullOrEmpty(MessageText.text))
{
TwitchIrc.Instance.Message(MessageText.text);
Text chatText = ChatText;
chatText.text = chatText.text + "" + TwitchIrc.Instance.Username + ": " + MessageText.text + "\n";
MessageText.text = "";
}
}
public void GoUrl(string url)
{
Application.OpenURL(url);
}
private void OnServerMessage(string message)
{
Text chatText = ChatText;
chatText.text = chatText.text + "SERVER: " + message + "\n";
Debug.Log(message);
}
private void OnChannelMessage(ChannelMessageEventArgs channelMessageArgs)
{
Text chatText = ChatText;
chatText.text = chatText.text + "" + channelMessageArgs.From + ": " + channelMessageArgs.Message + "\n";
Debug.Log("MESSAGE: " + channelMessageArgs.From + ": " + channelMessageArgs.Message);
}
private void OnUserJoined(UserJoinedEventArgs userJoinedArgs)
{
Text chatText = ChatText;
chatText.text = chatText.text + "USER JOINED: " + userJoinedArgs.User + "\n";
Debug.Log("USER JOINED: " + userJoinedArgs.User);
}
private void OnUserLeft(UserLeftEventArgs userLeftArgs)
{
Text chatText = ChatText;
chatText.text = chatText.text + "USER JOINED: " + userLeftArgs.User + "\n";
Debug.Log("USER JOINED: " + userLeftArgs.User);
}
private void OnExceptionThrown(Exception exeption)
{
Debug.Log(exeption);
}
}