Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by VMUnityAccount1 · Jun 09, 2021 at 09:43 AM · webglirc

,Connecting to Twitch IRC works in Editor not in browser (WebGL)

I have a c# script that connects to twitch chat using sockets and an very basic IRC implementation.

This works when I run the scene in the unity editor but does not when I build it for WebGL.

The Error I get is : system.net.sockets.socketexception (0x80004005): could not resolve host 'irc.chat.twitch.tv' at system.net.dns.error_11001 (system.string hostname) [0x00000]

Is this a webGL sandbox thing? I also tried using the TwichLib at https://github.com/TwitchLib/TwitchLib . And again that worked in the editor but no after building.

I am using Unity 2019.4.13f1.

In the below example I spawn a sphere at a random location when someone types spawn in twitch chat. I've tested this by joining the twitch chat and typing "spawn" and it works. But once again it doesn't work after being built.

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using System;
 using System.ComponentModel;
 using System.Net.Sockets;
 using System.IO;
 using UnityEngine.UI;
 
 public class TwitchChat : MonoBehaviour {
 
     private TcpClient twitchClient;
     private StreamReader reader;
     private StreamWriter writer;
 
     public string username, password, channelName; //Get the password from https://twitchapps.com/tmi
 
     public replicateSphere replicateSphereScript;
 
     public Text chatBox;
 
     void Start () {
         replicateSphereScript = GetComponent<replicateSphere>();
         Connect();
     }
     
     void Update () {
         if (!twitchClient.Connected)
         {
             Connect();
 
         }
 
         ReadChat();
     }
 
     private void Connect()
     {
         try{
         twitchClient = new TcpClient("irc.chat.twitch.tv", 6667);
         reader = new StreamReader(twitchClient.GetStream());
         writer = new StreamWriter(twitchClient.GetStream()) {AutoFlush = true};
 
         writer.WriteLine("PASS " + password + "\r\n");
         writer.WriteLine("NICK " + username + "\r\n");
         writer.WriteLine("USER " + username + " 8 * :" + username + "\r\n");
         writer.WriteLine("JOIN #" + channelName + "\r\n");
         writer.Flush();
 
         chatBox.text = "Connected";
         }
         catch (Exception e){
             chatBox.text = e.ToString();
 
         }
     }
 
     private void ReadChat()
     {
         if(twitchClient.Available > 0)
         {
             var message = reader.ReadLine(); //Read in the current message
 
             if (message.Contains("PRIVMSG"))
             {
                 //Get the users name by splitting it from the string
                 var splitPoint = message.IndexOf("!", 1);
                 var chatName = message.Substring(0, splitPoint);
                 chatName = chatName.Substring(1);
 
                 //Get the users message by splitting it from the string
                 splitPoint = message.IndexOf(":", 1);
                 message = message.Substring(splitPoint + 1);
                 chatBox.text = String.Format("{0}: {1}", chatName, message);
 
                 //Run the instructions to control the game!
                 GameInputs(message);
             }
         }
     }
 
     private void GameInputs(string ChatInputs)
     {
         if(ChatInputs.ToLower().Contains("spawn")
         {
             replicateSphereScript.CreateNewSphere();
         }
     }
 }

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

165 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Webgl build problems 1 Answer

WebPlayer build fail 0 Answers

WebGL with SocketIO throws errors 1 Answer

Create a game client/server in webgl 2 Answers

Cannot Export to WebGL because of il2CPP stops working. 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges