I'm moving my Twitch bot from Python 2.7 to Python 3.5. I keep getting the error:  a bytes like object is required not 'str' on the 2nd line of the code below.
twitchdata = irc.recv(1204)     data = twitchdata.split(":")[1]     twitchuser = data.split("!")[0]     twitchmsg = twitchdata.split(":")[2]     chat = str(twitchuser) +": "+ str(twitchmsg)     print(chat) #prints chat to console 
                Binary files are considered a series of bytes data and not as a string. It means that all data read from the file is returned as bytes objects, not str. We can solve this error by opening the file in read-only mode instead of binary mode, as shown below.
Bytes-like object in python In Python, a string object is a series of characters that make a string. In the same manner, a byte object is a sequence of bits/bytes that represent data. Strings are human-readable while bytes are computer-readable. Data is converted into byte form before it is stored on a computer.
We can use the built-in Bytes class in Python to convert a string to bytes: simply pass the string as the first input of the constructor of the Bytes class and then pass the encoding as the second argument. Printing the object shows a user-friendly textual representation, but the data contained in it is in bytes.
try
data = twitchdata.decode().split(":")[1]   instead of
data = twitchdata.split(":")[1] 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With