TheAssemblyArmada / Thyme

An open source re-implementation of Generals : Zero Hour written in C++.
GNU General Public License v2.0
587 stars 60 forks source link

[idea/suggestion] Discord channel/group #12

Closed mrtnptrs closed 6 years ago

mrtnptrs commented 6 years ago

Maybe it would be nice to make a Discord group, as it is more populair at the moment than a Freenode channel. (at least I think) This will may improve the ability of people to communicate with @OmniBlade and so could attract more developers/coders in the future.

OmniBlade commented 6 years ago

I would probably be more inclined towards Gitter rather than Discord as there is an IRC bridge for those who want to access it via and IRC client.

janisozaur commented 6 years ago

I doubt discord would provide much benefit over freenode channel. Gitter is not without its flaws too, the web client is bug-ridden and very heavy.

mrtnptrs commented 6 years ago

But aren't IRC channels a bit old-fashioned these days? (I could be wrong of course....) Wouldn't Gitter or a Discord channel attract more people to Thyme or to communicate with you @OmniBlade ? In my experience it always seems like a Gitter group or Discord channel is more populated than a Freenode group.

Btw, @janisozaur hi! Nice to see you here too. :)

OmniBlade commented 6 years ago

IRC isn't cool, but I'll bet its still standing after Discord and Gitter have crumbled to dust like AIM and ICQ. Both Gitter and Discord do make it easier for newcomers to follow previous conversation by recording the history, but that can be a double edge sword. Perhaps a better link in the readme to a web based IRC client that takes you straight to the channel would be a compromise solution? If such a thing is possible of course.

mrtnptrs commented 6 years ago

@OmniBlade I will look into that possibility. By the way, did you consider the possibility of IRC crumbling in the future instead of like Discord? Also, in my opinion I wouldn't replace the IRC channel with a Gitter group, as Gitter requires a Github account, which most regular non-dev players don't have.

OmniBlade commented 6 years ago

Its always possible, but no one owns or controls IRC and its has many open source implementations, not so of Discord.

I wouldn't be averse to a a Discord group for general none dev discussion at some point though, I'm just not sure this project has reached the point where it has something compelling to offer players over vanilla just yet.

mrtnptrs commented 6 years ago

I'm not able to find a way to get a direct hyperlink to the freenode channel.

@OmniBlade Maybe that is exactly why you should consider a Discord group: look at OpenSage; their more modern Discord group is a success, even though no one is able to even run it :) Also, it would be, in my opinion, a more approachable way to communicate with you and other Generals: Zero Hour players and Thyme users. This will probably attract more people to your project and thus stimulate the development of it (compared to a becoming less popular freenode channel.) What do you think?

Teteros commented 6 years ago

The IRC and Discord chats are split now so IMO that isn't ideal.

I've noticed an IRC Matrix portal room already exists at #freenode_#thyme:matrix.org.

@OmniBlade IRC OPs have propagated moderator permissions on the matrix side so I think you'd only need to add a discord bridge like matrix-appservice-discord to glue the IRC and Discord together via Matrix.

Since the bridge itself is self-hosted, there's a service at https://t2bot.io/discord or I could use the one running on my home server if you're interested in this.

That's one way to solve the non-persistent/irc being "hard" to use on multiple platforms issue, while dealing with Discord being non-free as well, all at only at a cost of using yet another protocol, wohoo!

OmniBlade commented 6 years ago

Interesting, how would this present on discord, as another channel? What are the possible failure modes if the bridge goes down, the IRC traffic just stops getting posted to discord?

Teteros commented 6 years ago

how would this present on discord, as another channel?

On the Discord side the owner only adds the bridge bot and sets access permissions and that's all for Discord. The bot reads and posts messages in existing (and future) channels if it is allowed to and is bridged on the matrix side.

So if we take #general on the discord for example, which is channels/409121752921276426/409121752921276428

the matrix room on the default configuration would be #_discord_409121752921276426_409121752921276428:yourhomeserver.host and would only post messages there if the room exists (someone joined it)

On the newer versions of matrix-appservice-discord it might be preferable to use the !discord bridge guildid channelid command instead so the room isn't tied to particular discord channel as you can do !discord unbridge

If not self hosting both the bridges, it's what you'll have to do to get this working, join an IRC "portal room", that's already bridged e.g: freenode_#thyme:matrix.org

Then invite a public matrix-appservice-discord bridge to that room and do the !discord bridge guildid channelid command. An admin on the discord end will have !approve this for the requested channel.

if the bridge goes down, the IRC traffic just stops getting posted to discord?