Closed Bergruebe closed 1 year ago
I tried to reproduce this with your exact code but was unable to do so. Does this bug happen every time?
Could you give a full code example?
(tried with py 3.11 and v3.11.0 as well as the v3.12.0 dev version)
Thank you for your fast answer.
Here ist the full code example:
from twitchAPI import Twitch
from twitchAPI.types import AuthScope, ChatEvent
from twitchAPI.chat import Chat, EventData, ChatMessage, ChatSub, ChatCommand
from module import get_config
from module import db
USER_SCOPE = [AuthScope.CHAT_READ, AuthScope.CHAT_EDIT, AuthScope.CHANNEL_MANAGE_BROADCAST,
AuthScope.CHANNEL_MANAGE_POLLS, AuthScope.CHANNEL_MANAGE_BROADCAST]
async def check_mod(cmd: ChatCommand):
# Todo: read trusted_users from config
if not (cmd.user.mod or cmd.user.name in config.trusted_user):
await cmd.reply("Du bist kein Mod.")
return False
else:
return True
async def videovote(cmd: ChatCommand):
if not await check_mod(cmd):
return
await cmd.chat.twitch.create_poll(broadcaster_id=str(cmd.room.room_id), title="Bewertung des letzten Videos", choices=["⭐", "⭐⭐", "⭐⭐⭐", "⭐⭐⭐⭐", "⭐⭐⭐⭐⭐"], duration=90, channel_points_voting_enabled=False)
async def run(pass_config):
# global config
config = pass_config
twitch = await Twitch(config.app_id, config.app_secret)
twitch.auto_refresh_auth = False
await twitch.set_user_authentication(config.user_token, USER_SCOPE, config.user_refresh_token)
chat = await Chat(twitch)
chat.register_event(ChatEvent.READY, on_ready)
chat.register_event(ChatEvent.MESSAGE, on_message)
chat.register_event(ChatEvent.SUB, on_sub)
chat.register_command('marker', set_marker)
chat.register_command('videovote', videovote)
chat.register_command('add', add_command)
chat.register_command('remove', remove_command)
chat.register_command('delete', remove_command)
chat.start()
try:
input('press ENTER to stop\n')
finally:
chat.stop()
await twitch.close()
I left out some of the other functions.
Maybe it is important to know, that my bot user is a different user than the broadcaster, but he has moderation and editor rights.
Maybe it is important to know, that my bot user is a different user than the broadcaster, but he has moderation and editor rights.
yes thats quite important. Only the broadcaster themself can create a poll for their own channel.
That you dont get a proper exception is problematic but to solve this you need to use a user authenticated twitch instance for that broadcaster to create this poll. You could do that by having 2 separate Twitch instances, one for the bot and one for the broadcaster.
Oh, I wasn't aware of this limitation. I thought that everything is possible over the API, what is also possible over the normal website.
I will try it with another instance, thank you for the idea and your help!
Hello, I have a problem with the poll creation:
My command:
Everything else works perfectly, thank you very much for your work!
Edit: I forgot to write my version: I'm using PyTwitchAPI v3.11.0 with Python 3.11.