rdavydov / Twitch-Channel-Points-Miner-v2

[NEW] A simple script that will watch a stream for you and earn the channel points. A successor of Tkd-Alex's original repo.
GNU General Public License v3.0
1.21k stars 352 forks source link

DROP_ID in [tag["id"] for tag in self.tags] and self.game != {} TypeError: 'NoneType' object is not iterable #343

Closed urkoperez16 closed 1 year ago

urkoperez16 commented 1 year ago

Describe the bug

This is the errors that I get:

Traceback (most recent call last):

File "/home/urko/TWITCH/3/example.py", line 106, in twitch_miner.mine( File "/home/urko/TWITCH/3/TwitchChannelPointsMiner/TwitchChannelPointsMiner.py", line 210, in mine self.run(streamers=streamers, blacklist=blacklist, followers=followers) File "/home/urko/TWITCH/3/TwitchChannelPointsMiner/TwitchChannelPointsMiner.py", line 299, in run self.twitch.check_streamer_online(streamer) File "/home/urko/TWITCH/3/TwitchChannelPointsMiner/classes/Twitch.py", line 179, in check_streamer_online self.update_stream(streamer) File "/home/urko/TWITCH/3/TwitchChannelPointsMiner/classes/Twitch.py", line 98, in update_stream streamer.stream.update( File "/home/urko/TWITCH/3/TwitchChannelPointsMiner/classes/entities/Stream.py", line 61, in update DROP_ID in [tag["id"] for tag in self.tags] and self.game != {} TypeError: 'NoneType' object is not iterable

Steps to reproduce

Ejecutate in terminal Wait to loading data Error

Expected behavior

?

Operating system

Latest

Python version

Latest

Miner version

Latest

Other relevant software versions

No response

Logs

Additional context

No response

LifeisHardCore commented 1 year ago

same

ViktorVoloshko commented 1 year ago

Same. I think Twitch pushed some kind of update that broke everything.

chrswt commented 1 year ago

+1

Le0Developer commented 1 year ago

Temporary fix, add or [] at the end of this line: https://github.com/rdavydov/Twitch-Channel-Points-Miner-v2/blob/7083798267a965142c1605434c7c5401d829da19/TwitchChannelPointsMiner/classes/entities/Stream.py#L57

This will fix the crash, but drops might not work.

Diff:

diff --git a/TwitchChannelPointsMiner/classes/entities/Stream.py b/TwitchChannelPointsMiner/classes/entities/Stream.py
index 99b378f..a36a172 100644
--- a/TwitchChannelPointsMiner/classes/entities/Stream.py
+++ b/TwitchChannelPointsMiner/classes/entities/Stream.py
@@ -54,7 +54,7 @@ class Stream(object):
         self.broadcast_id = broadcast_id
         self.title = title.strip()
         self.game = game
-        self.tags = tags
+        self.tags = tags or []
         self.viewers_count = viewers_count

         self.drops_tags = (
ViktorVoloshko commented 1 year ago

Temporary fix, add or [] at the end of this line:

https://github.com/rdavydov/Twitch-Channel-Points-Miner-v2/blob/7083798267a965142c1605434c7c5401d829da19/TwitchChannelPointsMiner/classes/entities/Stream.py#L57

This will fix the crash, but drops might not work.

Thx, works just fine. Btw, how does this affect functionality?

RedD3ATH commented 1 year ago

def update(self, broadcast_id, title, game, tags, viewers_count):  self.broadcast_id = broadcast_id  self.title = title.strip()  self.game = game

 if tags is not None:  self.tags = tags  else:  self.tags = []

 self.viewers_count = viewers_count

 self.drops_tags = (  DROP_ID in [tag["id"] for tag in self.tags] and self.game != {}  )  self.__last_update = time.time()

 logger.debug(f"Update: {self}")

that works for me Am 21. Aug. 2023, 23:32 +0200 schrieb ViktorVoloshko @.***>:

Temporary fix, add or [] at the end of this line: https://github.com/rdavydov/Twitch-Channel-Points-Miner-v2/blob/7083798267a965142c1605434c7c5401d829da19/TwitchChannelPointsMiner/classes/entities/Stream.py#L57 This will fix the crash, but drops might not work. Thx, works just fine. Btw, how does this affect functionality? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

Le0Developer commented 1 year ago

Btw, how does this affect functionality?

Looks like the tags attribute is only used for farming drops, so that should be the only thing affected. Channel point farming works for me, which is what I care about.

This is a temporary fix for a reason, apply the official fix once it's out.

sayrex2009 commented 1 year ago

guys off topic, how to make it run in windows with different accounts, but with the same rules

ViktorVoloshko commented 1 year ago

guys off topic, how to make it run in windows with different accounts, but with the same rules

Create a discussion if you want answer.

Loran0 commented 1 year ago

changing self.tags = tags to self.tags = tags or []

This fix works for me. Also it helps to CLAIM rewards. Before this changes mining was successful, But claiming didn't work. Now everything works fine.

rdavydov commented 1 year ago

changing self.tags = tags to self.tags = tags or []

This fix works for me. Also it helps to CLAIM rewards. Before this changes mining was successful, But claiming didn't work. Now everything works fine.

It is already in in the miner repo and in the version 1.8.6. No need to change anything anymore.

urkoperez16 commented 1 year ago

Temporary fix, add or [] at the end of this line:

https://github.com/rdavydov/Twitch-Channel-Points-Miner-v2/blob/7083798267a965142c1605434c7c5401d829da19/TwitchChannelPointsMiner/classes/entities/Stream.py#L57

This will fix the crash, but drops might not work.

Diff:

diff --git a/TwitchChannelPointsMiner/classes/entities/Stream.py b/TwitchChannelPointsMiner/classes/entities/Stream.py
index 99b378f..a36a172 100644
--- a/TwitchChannelPointsMiner/classes/entities/Stream.py
+++ b/TwitchChannelPointsMiner/classes/entities/Stream.py
@@ -54,7 +54,7 @@ class Stream(object):
         self.broadcast_id = broadcast_id
         self.title = title.strip()
         self.game = game
-        self.tags = tags
+        self.tags = tags or []
         self.viewers_count = viewers_count

         self.drops_tags = (

you are a heroe