Closed CharliW90 closed 10 months ago
Hey Charli, do you know what command parameters you used for createTown? Some stuff is optional and I’m wondering what path you went through.
There is a bit of a confusing thing in that you can provide server-wide roles for “people who like storytelling” and also “people who like playing BotC” - this is for servers (like mine!) with a broader purpose than playing BotC, to hide everything from members who aren’t interested. If you didn’t provide those, then I could see everyone being able to see the control channel by design.
Also, many channels are intended to be hidden while no game is in progress, so maybe that’s what you’re seeing in some cases.
Also, are you an admin of the server? Are you using the Discord feature to view the server “as” a particular role?
That said, I’ll need to take a closer look at what you reported to figure out what went wrong exactly. For example, you shouldn’t be able to see the night channels when a game is not in progress.
(It’s certainly possible that Discord changed its behavior somehow and I need to provide more permission specifications to ensure, say, you can join the right channels or whatever.)
Oh another question, do you have any server-wide “everyone” permissions that are non-default? Maybe the bot is making some assumptions that those are at defaults when really it should be specifying them.
aaah, perhaps what I'm seeing is due to a game not being in progress, yes... I will try triggering a game to see how the behaviour changes... but still, to answer your questions:
the server has no special permissions for @everyone
yes, I was using discord's "view as role..." option to see what it looks like to others
only the storyteller and/or admin could see the nighttime channels, but a game was not in progress
I passed no additional parameters to the command, just /createtown <townName>
I will trigger a game, and let you know if it does stuff that makes sense
okay - once a game was triggered, there was no real change... as @everyone
I could see the 'control' channel, I could not see the chat channel, and I could see but not join the daytime channels... I could also see ALL of the nighttime cottage channels, but not join any of them; this is then the same for the Villager role except that the chat channel is visible to a Villager; this is the same for the storyteller except that the chat channel is not visible.
Maybe I'm misunderstanding, but my expectation would be:
villager
can see the day channels, but not the control channel and not the night channels
storyteller
can see the day channels, the control channel, and the night channels
triggering night did push me into a cottage that I would have otherwise been able to see, but not join, as a villager role
set up a whole new town, and got slightly better behaviour...
now, @everyone
can see the control channel and the town square channel only, but cannot join the voice channel, which prevents the game from starting... this feels a bit broken...
what the storyteller role can see makes sense if they also have the villager role - I wasn't expecting that behaviour, but I guess that's how it works?
neither the villagers nor the storyteller can join any of the chat channels, even when a game is in progress - they all show as locked when using discords "view as"
You might be confused about what these roles are for. They are managed by the bot and you should not be granting them to people.
That said, it sounds like there must be some work to do for the parameterless createTown.
here is how it should work in that case:
I’m not sure why you would have unjoinable channels, or channels you can see when you’re not supposed to be able to.
if you want to hide the control channel from players, you need an extra parameter to createTown to set up a server-wide “I like being storyteller” role that you manage yourself
fixed it! your explanation made sense, and pointed me to the problem in my server setup! thank you
Oh wow! Uh, what was the problem?
it definitely sounds like there’s still a bug here somewhere (like just /createTown with no params) but I haven’t tried it yet to figure out what’s wrong :)
the bug was, embarassingly, a role assigned to all 'new members' on the server, which restricted them from doing things, and which another bot was applying / managing - somehow it meant that villagers / storytellers could not 'join' voice channels, even though @everyone
permissions weren't changed... the server is a mess tbh - I may just create a BotC-only server - sounds like it would work better??
A BotC specific server could work!
The bot could also be more specific with allowing joining channels - it does currently assume that users can join channels they can view! Ie it doesn’t expect the kind of restrictive role you have set up. Dunno if the restriction would override the BotC role permissions or not, haven’t tried it!
My understanding is that for the override to work, the BotC roles would have to be higher in the heirarchy than this 'more restrictive' role - could be a real pita to try to account for in your code, but it certainly wouldn't hurt to at least explicitly allow view and join.
when I create a town, the category channel for daytime channels doesn't seem to have appropriate permissions set- no change to what
@everyone
can see is made (i.e. every permission for@everyone
is set to '/') villager permissions appear to be correct (they just have 'View Channels' set to a tick) storyteller permissions are all set to a '/' which appears incorrect - they need view permissions too, as well as probably some extra permissions like manage, move members, mute members ??not sure what the intended permissions were...
to be clear: viewing the server as
@everyone
I can see the daytime category, the control channel (!?) and the daytime voice channels, but it appears I cannot join them viewing the server as the@<townName> Villager
role I can see the daytime category, the control channel (!) the chat channel, and the voice channels, but it appears I cannot join them viewing the server as the@<townName> Storyteller
role I can see the daytime category, the control channel, NOT the chat channel, and the voice channels, but it appears I cannot join them, and I can see the night category and all its channels, but cannot join themif the only change I make is to set the daytime category
@everyone
to be 'x' for View Channels, we get the below behaviour: viewing the server as@everyone
I can see the daytime category and only the control channel (!?) viewing the server as the@<townName> Villager
role I can see the daytime category, the control channel (!) the chat channel, and the voice channels, but it appears I cannot join them viewing the server as the@<townName> Storyteller
role I can see the daytime category, the control channel, NOT the chat channel, and NOT the voice channels, and I can see the night category and all its channels, but cannot join them