Screeps Discord?

  • @ags131 I'm still curious why discord isn't viable with more channels. I personally would prefer fewer channels just because I don't understand what more than half the channels in the Slack are even there for, but what is actually preventing discord from having the same number of channels as Slack?

  • @artch said in Screeps Discord?:

    The discussion here is mostly about differences in Slack and Discord app features. But let's not forget that unlike Slack, Discord is more than an app - it's a social network. Rich Presence might be very beneficial to promote Screeps among Discord users who don't play Screeps yet, but are friends of Screeps players in some other games. Discord has some viral potential that we lack when using Slack as a standalone platform.

    This, I believe, is one of the strongest considerations that has been raised so far. Some of the conversation has revolved around the notion that migrating from Slack to Discord would be inherently detrimental to the community, because it requires a change, new software, or whatever. But the fact is, there may be value to be gained from Discord that Slack does not offer. It may be an additional touch point for new players, and that, I think, is the holy grail.

  • Culture

    If we move to discord we're going to need more moderators. As it is now the bulk of the "dealing with drama" is done pretty much by me (although it fortunately has been pretty quiet the last couple of months). As others have pointed out, having Slack open at work is pretty standard but having discord is not, so we'd need those extra moderators for all that time the existing mods would no longer be able to join the network.

    Additionally, that whole point at the top- "Doesn't by default allow user-created channels"- would be pretty awful. We should not need admins to create channels for people.

  • For me, not having chat archives in Slack is a killer issue. It's really annoying that I can't see what I wrote to someone a few months ago.

    Yes, there is the archive bot, but you can't use it for private channels or direct messages.

    So I vote for Discord.

    Note on invite-only channels: In the Discord model, a group (e.g. an alliance) that previously used a Slack invite-only channel would probably simply create their own server. It's free and - unlike separate slack instances - uses the same user accounts, so you can't mix up people.

  • I have no idea why anyone thinks discord would be a better choice than slack.

    Voice chat isn't that great at these game speeds, and given this is a coding game I don't understand why we'd move to a platform with less snippet support.

  • @artch Steam already provides this potential of friends seeing what people are playing. I'd also bet that most people have more friends on Steam than on Discord.

    Besides, I don't want the entire Screeps community to know what else I'm doing with my time. And from that directly follows: the opposite as you're describing can happen as well. It can draw players away from your game as well.

    Personally I use discord with a few distinct, small groups of friends. For example, my fixed Rocket League team mates. I absolutely loathe the larger communities such as "official" groups for Game X. I tried a bunch and ended up leaving each of them.

  • Culture

    Looks like there isn't even github integration with discord, which means all of the development channels (such as #screepers, #screepsmods, #quorum, and several others) would no longer have github notifications sent to them. For that reason alone I think most of the third party development projects will want to stay on Slack- toss in the inability to collapse snippets and the crappier syntax highlighting and I think this would be a step back.

  • Culture

    @gankdalf no, I don't mean that. With that particular method you have to literally create a webhook for every repository in your organization, and you have to manually maintain it. WIth the slack integration you can set up an integration with an entire organization using the single integration.

    You also get a lot more customization-

    0_1518628761242_Screen Shot 2018-02-14 at 9.18.43 AM.png

    As someone who manages several development Slack networks I can say without a doubt that it is much more work to maintain that on discord than it is for slack.

  • @tedivm are you sure you need one for every repository?

  • Culture

    I would probably end up creating a slack just for ScreepsPlus and possibly stuff like #screepsmods, many of us use the github integration to watch for updates for mods, tools, even the private server itself.

    ScreepsPlus also uses a slack webhook to offer Grafana alerts through slack, usually via a direct DM to a player or private channel, discord would make that impractical even with their webhook support.


  • Culture

    @gankdalf if you enable that particular webhook you lose all granular control over the repositories while using Discord.

    Here's the main difference, to cut right to the specifics-

    • Slack works by creating an integration with Github that basically sends all of the information to Slack. Then the Slack Github Integration (created by the Github team) allows you to specify a variety of options on the Slack side for how that is managed. Since Slack has all the information you can make changes really easily inside of the Slack integration.

    • Discord does not have any Github capabilities in it's system. Instead it receives messages from the webhook and acts as a proxy, passing it on to the appropriate channels as configured by the webhook. All of the management of that comes from the Github side of things rather than from the chat server integration.

    This has a huge difference in how these things get managed.

  • Culture

    If ScreepsPlus ends up with a slack server I will simply move all of the development channels I manage over to that Slack server, and just point my various bots at it as well.

  • @tedivm I would do the same. I'm not going to juggle both Discord and Slack development at the same time.

  • @tedivm Okay, that makes so much more sense now. So to repeat. The difference is that in Slack, you login to your GitHub account and manage everything there, while in Discord you would need to create a webhook between each pair of channels and repositories you wanted to connect, since the organization wide webhook would post all of the selected events to the specific channel with no customization on which repository it came from.

    Yeah that sounds like a decent amount of work to setup. Although, it does seem like it is a one-time setup per repository.

  • Culture

    @gankdalf true, it would mostly be one time (unless someone wanted changes).

    Maybe you can answer a question for me, since my discourse knowledge is a bit limited. Can anyone add a webhook, or would the "admins" of the network have to add each one?

    With Slack we admins can enable an Integration, such as Github, and then allow users to manage the features of that Integration. So once we added Github, players who aren't admins (such as @ags131) can add their own repositories and organizations without having to coordinate with the admins at all.

    How would that work with Discord? It seems like we'd either have to allow anyone to create webhooks (which I am not sure is possible) or the admins would have to manage this task every time someone wanted to add a new github repo or organization.

  • YP

    @daboross said in Screeps Discord?:

    In the slack, we have 163 public channels, each with a different discussion topic. In discord, we'd either have to greatly pare down this number, or force everyone to have all 163 channels in their sidebar.

    on the other side 130 of those channels are probably empty because all messages expired... I don't think we need that many channels anyways.

    in discord you can have categories/subchannel .. so it's maybe even easier to create a clear channel structure

    one advantage of discord is that it's easy to be on multiple discord servers.. you can simply give a link to someone to join a channel on a different server or invite people... I would suggest not to have coalition channels on the main discord server.

    aliances and coalitions could actually use bots/api to manage their users on their servers... there is for sure a way to check if a discord user is a certain player


  • I am not a fan of either service due to their proprietary nature. I would much rather screeps have an official IRC channel(s).

  • YP

    @tedivm said in Screeps Discord?:

    How would that work with Discord? It seems like we'd either have to allow anyone to create webhooks (which I am not sure is possible) or the admins would have to manage this task every time someone wanted to add a new github repo or organization.

    discord has a very good permission system. there is a permission just for webhooks you can give to everyone .. or just to a group of users.. to allow creation in every channel.. or just to specific channels.. or maybe to a category...

  • @tedivm You could allow anyone to manage webhooks, which sadly allows deleting other people's webhooks. That is probably not ideal. There is no default "ownership" of a webhook, so all webhooks are the servers.

    You could create a role that could be handed out by admins that allowed the same thing, but to a subset of users manually selected to try and prevent abuse. Also not great.

    Someone could create a discord bot that managed webhooks using commands and gave ownership and limits to users, so that they couldn't create 10,000 webhooks and couldn't delete webhooks they didn't own.

    There is also the admin-only possibility, but that is probably the worst out of these options.

    As an extra note on the discord bots. I personally find discord bots very useful for displaying reference documents and other frequently asked questions in other servers, since you can save responses in it. For example it could be used to send direct links to the API reference with commands like

    !screeps dismantle
    !screeps privateserver
    !screeps tutorial

    And since they can do anything a normal console program running on the host computer could do, they are also capable of grabbing anything off the web, parsing it, and then taking some action on it. I have gone as far as to have them read item databases through an API and then read them using text to speech into voice chat. Obviously, this specific use-case has no purpose in Screeps, but it should give some reference to what the bots can do.

    I have created many discord bots, and I don't want to put this too lightly because time you don't have to spend is time you don't have to spend, but setting up one of these bots isn't very hard.