[8WR] Discord Integration

[8WR] Discord Integration [Paid] 1.0.9

No permission to buy ($30.00)

Jaxel

Well-known member
Jaxel submitted a new resource:

[8wayRun.Com] Discord Integration - Integrate your Discord Guild with your Users Database

A branding removal license and instructions on how to remove the brands quick and easily can be purchased HERE for $50. Each branding removal license is good for ONE forum only! If you appreciate the work here, please DONATE.

This addon allows users to link their DiscordApp.com account to their forum account. It also links your users database directly to the...

Read more about this resource...
 
Jaxel updated [8wayRun.Com] Discord Integration with a new update entry:

Version 1.0.2 CHANGELOG

  • Redid the index page so you don't need to manually edit it anymore to put your own invite/join link. You still can if you wish however.
  • You can now define the maximum length of quoted text when webhooks get processed.
  • Added a webhook for when replies are posted to threads.
  • Added a webhook for when users post status updates to their profile.
  • Added an alert bubble to the "Chat" navigation tab showing the number of users in chat.
  • BUG FIX: fixed a bug where...

Read the rest of this update entry...
 
Heads falling off tonight, does this addon allow users to register to my xenforo through the discord server itself ?

Edit

After re reading several times over ( bad headache day) it looks like it auto creates users in the discord server if the user registers at the website ?
 
Last edited:
Heads falling off tonight, does this addon allow users to register to my xenforo through the discord server itself ?

Edit

After re reading several times over ( bad headache day) it looks like it auto creates users in the discord server if the user registers at the website ?
No, it does not auto-create users in the discord server. We do not have the ability to create discord accounts.

It DOES allow users to register to your xenforo through discord (like facebook, google and twitter).
 
Heads falling off tonight, does this addon allow users to register to my xenforo through the discord server itself ?

Edit

After re reading several times over ( bad headache day) it looks like it auto creates users in the discord server if the user registers at the website ?
8WAYRUN.webp
 
Jaxel updated [8wayRun.Com] Discord Integration with a new update entry:

Version 1.0.3 CHANGELOG

  • You may restrict the threads/posts webhooks to a specific list of forums (or continue using all forums).
  • You can now enable/disable the alert bubble for online user count on the navtab.
  • The Chat Index page (EWRdiscord_index) is now fully phrased. You no longer have to edit the template directly.
  • BUG FIX: New threads will now no longer post to webhooks twice (once for thread, once for post).

Read the rest of this update entry...
 
I am having a small problem when setting up. When i click the link in Xenforo admin to assign the bot to the server it takes me to the server screen and when assigned, instead of taking me back to the admin screen like what happened to you in the video it takes me back to the main forums page and then when i go back into the admin page the discord addon does not have server access like in your video. Any suggestions?
 
I am having a small problem when setting up. When i click the link in Xenforo admin to assign the bot to the server it takes me to the server screen and when assigned, instead of taking me back to the admin screen like what happened to you in the video it takes me back to the main forums page and then when i go back into the admin page the discord addon does not have server access like in your video. Any suggestions?
The account you are logged into in XenForo needs to be an admin. What are your redirect URIs?

You may want to PM me your details.
 
I really do hate the developers in the Discord community. The people on the Discord Dev Server are some of the worst kinds of people I've seen in the programming community. They are the kind of people where if you ask for help with an endpoint they tell you to "read the ****ing manual"; not RTFM, but fully typed out. The kind of people where if I accidentally say "asynchronous response", instead of "asynchronous request", they will spend the next 5 minutes insulting me and calling me an idiot. Instead of helping me with my issue, when they clearly understood what I meant. (especially since async responses don't exist).

At one point I (correctly) pointed out a bug with the redirect URIs where it was not properly ignoring query strings. And I got called out for "not understanding REST routing spec" and a whole string of other insults. Eventually a moderator pointed out that I was right. When I asked them if there was any way to embed a Discord Chat room directly into my website (similar to their widget which lets you embed the users list), rather than simply say "no"; they go on for half an hour about how I'm an idiot for wanting to do such a thing. They couldn't fathom why any gaming community would want to embed their discord chat room onto their website and said anyone who wanted to do such a thing was a moron and wasting their time.

And its not just one or two people, its everybody. These script kiddies who think they are legit programmers because they programmed a few Discord Chat Bots (which is the central focus of the Discord API documents). I told them I was building a Single Sign-On system for my website, and they had no idea what I was talking about. Said that's not what Oauth is used for... WTF, that is literally the main purpose of Oauth and why it was created in the first place! Not to mention, literally the first bullet point on application uses for the Discord API documentation? Single Sign-On.

So I pointed out that the Oauth Flow with Discord does not tell the end user what account they are currently logged into. Every Oauth flow ever created does this; tells you what account you're linking. And they try to argue with me that there is no reason for you to have more than one account; so there is no reason for Discord to tell you what account you are logged into. WTF? This is a DEV server. You know, DEVs have a reason to have more than one account... they are called TEST ACCOUNTS... for DEVs.

But getting to my point...

If you do not use "Full Friendly URLs" in the XenForo Basic Board Information, you can not use this addon, or any other addon that authorizes with the Discord API servers. Nor will this issue ever be fixed. The XenForo URL structure with 'index.php?major/minor' technically does not conform to RFC spec; so the Discord devs will never make all allowances for it. It will never return a proper value for a redirect URI that will work with XenForo.

Basically, instead of returning you to:
mywebsite.com/index.php?register/discord

It will return you to:
mywebsite.com/index.php?register/discord= (notice the equal sign)

They simply refuse to return to the exact URL you specified as your redirect URI because it has a ? in it; and according to RFC spec, every parameter must have name=value. So they add the equal sign and of course, this does not work with the XenForo routing system, so it wont send you to the right place.
 
Last edited:
If I've understood their reasoning correctly, and what the = they add represents, then a workaround may be to define the return URL as:

Code:
http://mywebsite.com/index.php?_=register/discord

It's undocumented, mostly because it hasn't ever widely been needed, but a URL parameter name of _ represents the route.

e.g. this would work:

https://xenforo.com/community/index.php?_=account/personal-details

This actually also allows you to define the parameters in a different order, if needed for whatever reason, e.g.

https://xenforo.com/community/index.php?test=1&_=account/personal-details

We have something similar in XF2, too:

https://xf2demo.xenforo.com/index.php?_xfRoute=account/account-details

We actually came up against this a few times in XF2 with various login/registration account providers, and so another workaround to consider is an additional file to redirect to which you can then route however you like.

For example, you could do

Code:
http://mywebsite.com/discord.php?blah=1
 
If I've understood their reasoning correctly, and what the = they add represents, then a workaround may be to define the return URL as:

Code:
http://mywebsite.com/index.php?_=register/discord

It's undocumented, mostly because it hasn't ever widely been needed, but a URL parameter name of _ represents the route.

e.g. this would work:

https://xenforo.com/community/index.php?_=account/personal-details

This actually also allows you to define the parameters in a different order, if needed for whatever reason, e.g.

https://xenforo.com/community/index.php?test=1&_=account/personal-details

We have something similar in XF2, too:

https://xf2demo.xenforo.com/index.php?_xfRoute=account/account-details

We actually came up against this a few times in XF2 with various login/registration account providers, and so another workaround to consider is an additional file to redirect to which you can then route however you like.

For example, you could do

Code:
http://mywebsite.com/discord.php?blah=1
Interesting... good to know. I will update this addon accordingly.
 
Hey @Jaxel,

I'm really pleased you've decided to release this - my guild has recently made the switch from Teamspeak to Discord and I was looking around at my integration options. I also have XenPorta 2 and Xenrio. I just have a couple of questions:

1. Could you add a feature so that the Discord bot picks up on when one of our streamers is live / finished via Xenrio and posts an announcement / link to the Discord chat channel?

2. Would you be able to create a customised widget compatible with Xenporta 2 for Discord? The default one has very strong branding colours which doesn't go with our website. Widget customisation options are always nice - perhaps something like this: http://discord.deliriousdrunkards.com ? I mainly want to be able to make it look like our other widgets rather than stand out with that purple colour!

Edit 3: How would this handle forum / discord name changes?

Many thanks!
 
Hey @Jaxel,

I'm really pleased you've decided to release this - my guild has recently made the switch from Teamspeak to Discord and I was looking around at my integration options. I also have XenPorta 2 and Xenrio. I just have a couple of questions:

1. Could you add a feature so that the Discord bot picks up on when one of our streamers is live / finished via Xenrio and posts an announcement / link to the Discord chat channel?

2. Would you be able to create a customised widget compatible with Xenporta 2 for Discord? The default one has very strong branding colours which doesn't go with our website. Widget customisation options are always nice - perhaps something like this: http://discord.deliriousdrunkards.com ? I mainly want to be able to make it look like our other widgets rather than stand out with that purple colour!

Edit 3: How would this handle forum / discord name changes?

Many thanks!
1 - That would require me to rewrite the live streaming system (otherwise it would spam every 15 minutes)... I'm looking into it, but dont get your hopes up.

2 - The current widget works fine for most people. You could probably just make a Raw HTML widget with that iframe if you need it.

3 - If you check the option to enforce matching of nicknames, then every time someone changes their username on the forum, it will sync it do discord. This addon syncs from the forum to discord, it does not sync from discord to the forum.
 
Just added to the FAQ:
  • Question: My bot doesn't seem to be applying changes to my guild/server members?
The bot you set up in the installation process can only edit users with less "power" than them. When you create a bot, it creates a special "managed role" just for the bot. This role MUST remain at the TOP of your roles list. Even if this managed role has administrator permissions, it still can not edit members below it in the hierarchy. So if you move the role to the bottom, it wont be able to edit even the weakest of members within your guild/server.
 
Just purchased this! A small note - the phrase discord_index_paragraph_2 contains a reference to 8wayrun:

"Linked accounts will automatically get moved around to matching roles on the Discord server based on your usergroups on 8WAYRUN."

This just needs to be changed to {forum} :)

Edit: also, the chat page doesn't display correctly on mobiles:

Screenshot_20170104-061500.webp
 
Last edited:
Awesome - it's great to have another option.

Quick question before I buy:

The other Discord integration add on only works to move people to their proper roles if that person is physically connected to the Discord server AT THE SAME TIME that they associate their Discord account on our forum.

Does you system work differently (i.e. does it periodically check connected users to insure they are in the correct roles, perhaps via a cron job)?
 
Last edited:
Just purchased this! A small note - the phrase discord_index_paragraph_2 contains a reference to 8wayrun:

"Linked accounts will automatically get moved around to matching roles on the Discord server based on your usergroups on 8WAYRUN."

This just needs to be changed to {forum} :)

Edit: also, the chat page doesn't display correctly on mobiles:

View attachment 145817
Fixed for next version...

Awesome - it's great to have another option.

Quick question before I buy:

The other Discord integration add on only works to move people to their proper roles if that person is physically connected to the Discord server AT THE SAME TIME that they associate their Discord account on our forum.

Does you system work differently (i.e. does it periodically check connected users to insure they are in the correct roles, perhaps via a cron job)?
Right now, it only re-syncs roles on user changes (promotions, demotions, merges, etc). I'm looking into getting a cronjob that resyncs every night, but the issue would be related to getting rate-limited by the API. I've sent a request out to the Discord Devs about getting bulk update options, which would work around this issue.

So right now, no... but in a future update, yes.
 
Top Bottom