XF2 [8WR] Discord Integration

XF2 [8WR] Discord Integration [Paid] 2.1.1.9

No permission to buy ($30.00)
@Jaxel got this error today that i think might be related to this addon:

Code:
Code:
Server error log
XF\Db\Exception: MySQL statement prepare error [1054]: Unknown column 'discord_options' in 'field list' src/XF/Db/AbstractStatement.php:212
Generated by: Unknown account Jun 20, 2018 at 4:22 PM
Stack trace
INSERT  INTO `xf_user_option` (`content_show_signature`, `show_dob_year`, `show_dob_date`, `receive_admin_email`, `email_on_conversation`, `creation_watch_state`, `interaction_watch_state`, `user_id`, `is_discouraged`, `alert_optout`, `use_tfa`, `discord_options`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL statement...', 1054, '42S22')
#1 src/XF/Db/Mysqli/Statement.php(39): XF\Db\Mysqli\Statement->getException('MySQL statement...', 1054, '42S22')
#2 src/XF/Db/Mysqli/Statement.php(54): XF\Db\Mysqli\Statement->prepare()
#3 src/XF/Db/AbstractAdapter.php(79): XF\Db\Mysqli\Statement->execute()
#4 src/XF/Db/AbstractAdapter.php(160): XF\Db\AbstractAdapter->query('INSERT  INTO `x...', Array)
#5 src/XF/Mvc/Entity/Entity.php(1389): XF\Db\AbstractAdapter->insert('xf_user_option', Array, false)
#6 src/XF/Mvc/Entity/Entity.php(1121): XF\Mvc\Entity\Entity->_saveToSource()
#7 src/XF/Mvc/Entity/Entity.php(1139): XF\Mvc\Entity\Entity->save(true, false)
#8 src/XF/Service/User/Registration.php(279): XF\Mvc\Entity\Entity->save()
#9 src/XF/Service/ValidateAndSavableTrait.php(40): XF\Service\User\Registration->_save()
#10 src/XF/Pub/Controller/Register.php(393): XF\Service\User\Registration->save()
#11 src/XF/Mvc/Dispatcher.php(249): XF\Pub\Controller\Register->actionRegister(Object(XF\Mvc\ParameterBag))
#12 src/XF/Mvc/Dispatcher.php(88): XF\Mvc\Dispatcher->dispatchClass('XF:Register', 'Register', 'json', Object(XF\Mvc\ParameterBag), '', Object(XF\Pub\Controller\Register), NULL)
#13 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#14 src/XF/App.php(1931): XF\Mvc\Dispatcher->run()
#15 src/XF.php(328): XF\App->run()
#16 index.php(13): XF::runApp('XF\\Pub\\App')
#17 {main}
Request state
array(4) {
  ["url"] => string(18) "/register/register"
  ["referrer"] => string(36) "https://squattheplanet.com/register/"
  ["_GET"] => array(1) {
    ["/register/register"] => string(0) ""
  }
  ["_POST"] => array(18) {
    ["82eb8897ecdd732b1c48904487a1dc59778bd401"] => string(5) "Mikey"
    ["username"] => string(0) ""
    ["61dc8829bb793047b475ea0da494e950175e0f5c"] => string(28) "*******"
    ["email"] => string(0) ""
    ["password"] => string(8) "********"
    ["b70e929a7b7a56a006be31536d6b8605f960f96d"] => string(8) "********"
    ["dob_month"] => string(1) "5"
    ["dob_day"] => string(2) "04"
    ["dob_year"] => string(4) "1992"
    ["location"] => string(11) "New Orleans"
    ["g-recaptcha-response"] => string(462) "03ACgFB9uDmxAqLnfkZhyZvtV1c7oGPeBnf_9H4Wwf2sfllobkF605F9Xap06j4lI8poziX3RCBoNvCsl0K_oD5rn8YUxBkwegJdVsqq_svgDfBcCsbdxfnlSuiEXhUsdY88mfr1XzuFQi_s3TUgaO7nSamuUvBJbXBqRhyzmUlLbru7yDTcvXNtZD3E8KV40kft8sCJrqUaWcPl3WS1oSByqiCgOFx0OG7zPRMvnbcPQIbMX2zLZ3qYaImEbbwaXL7brZTdYYiGhkwQkJRHaRKeg_9HvYL1EvtPubceyW9-cSl8rORepvdPWxdJl0RWJnnMNT2Z5zsL8PBz1s95D0Q5WuwV6E1zwBIBg-GYnf7tJOAwYanoCTBt75YpnNeFwGK6XqpFY_6OsmnNWALvZiZElaMEeRXVXdcA94JXVtAnr1LA4Oofm_Vh--JrtMxWOVRblLa90NI3Y5"
    ["accept"] => string(1) "1"
    ["reg_key"] => string(16) "lEEYNGbqobjvnrqD"
    ["29d85c42b02d77235280845aafde788a99a3cbd2"] => string(16) "America/New_York"
    ["_xfToken"] => string(8) "********"
    ["_xfRequestUri"] => string(10) "/register/"
    ["_xfWithData"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
  }
}
https://xenforo.com/community/resou...ntegration.6058/updates#resource-update-26650
 
this question is for anyone that might know the answer, but i was wondering how this addon matches up xf users to discord users for syncing? does it do it by matching the email addresses, or does the user have to associate their discord account to their xf account?

i guess i'm just trying to figure out how to disable anyone joining my discord channel unless they have a user account on my xf board. so far i'm still using the widgetio bot to display the chats on my ewr-discord page, i've just disabled sending of message to the widgetio bot for all channels, so users will click the 'join' button and use the discord app or web client. i know disabling widgetio does the same thing, but this way i get the best of both worlds, since it still displays the chats quite nicely and users can see what they are missing out on :)
 
this question is for anyone that might know the answer, but i was wondering how this addon matches up xf users to discord users for syncing? does it do it by matching the email addresses, or does the user have to associate their discord account to their xf account?

i guess i'm just trying to figure out how to disable anyone joining my discord channel unless they have a user account on my xf board. so far i'm still using the widgetio bot to display the chats on my ewr-discord page, i've just disabled sending of message to the widgetio bot for all channels, so users will click the 'join' button and use the discord app or web client. i know disabling widgetio does the same thing, but this way i get the best of both worlds, since it still displays the chats quite nicely and users can see what they are missing out on :)

Discord becomes an option for Connected Accounts. Once the user has connected their XF account, if you've set a role synch up, they'll gain a new role in your Discord server. For instance, you can set your Discord server up with @xfusers, @moderator, @admin, and synch them to your XF usergroups Registered, Moderating, and Administrator, respectively.

@xfusers Registered
@moderator Moderating
@admin Administrator

However, the add-on doesn't do anything to prevent people from joining your Discord server. By default, users who enter your server are part of @everyone, which this add-on doesn't modify.

Something you may be able to do to get what you want... change your default channel (usually #general) permissions for @everyone to disallow sending messages, but allow reading chat history. Leave a message that users must join the forum in order to chat. On the rest of your channels, set @everyone permissions to disallow reading messages. Your @xfusers group, however, can be set to read and send messages normally. As long as Widget.io has the proper permissions, the widget should still give people a taste of what they're missing.

This wouldn't prevent people from randomly entering your Discord server, but should restrict people from lurking/chatting unless they joined your forum. In theory.
 
The Discord bot will now send direct messages to users on Discord when they receive a private message on your forums.
For any reason I dont get a pm in discord if I get a private message on our forums. How can I check the reason?
 
For any reason I dont get a pm in discord if I get a private message on our forums. How can I check the reason?

i believe you will only get discord alerts on private messages if your user has associated their discord account in xenforo.
 
i believe you will only get discord alerts on private messages if your user has associated their discord account in xenforo.
i have associated discord with xenforo

i need to allow direct messages from people on this server, is there no other way?
 
@Tealk I actually just received my first Conversation to Discord DM earlier today, and it seemed to work normally. I didn't have to toggle anything for it to happen.

A few quick things you could check:
  • 8WR Discord Add-on is updated to 2.0.1.6. Seems obvious, but maybe the update didn't take?
  • Ensure Bot App Settings are good: https://discordapp.com/developers/applications/me
  • Your personal Discord User Settings -> Privacy and Safety. Are you able to receive direct messages from the Bot?
 
I would like to deactivate the setting "Allow direct messages form server members" otherwise all users always write to me privately. But with deactivated setting I don't get any messages from the app. :cry:
 
I would like to deactivate the setting "Allow direct messages form server members" otherwise all users always write to me privately. But with deactivated setting I don't get any messages from the app. :cry:

Darn. My first thought was "what if you add the bot as a friend?" but... looks like that's not an option.
 
View attachment 177705

the notification always appears. should have a cookie or something so it won't keep appearing? Also how can I move the crate, it's blocking my 'To Top' button.
If the question isn't answered yet:
As far as I know, can you change the Crate-settings in the EWRdiscord_index file.
If the syntax is similar to the original crate-syntax (can't look at it right now) then you can add indicator: false and location: ['bottom', 'left'] to the crate.

It should look like this (more or less):
HTML:
<script src="https://cdn.jsdelivr.net/npm/@widgetbot/crate@3" async>
    const crate = new Crate({
        server: 'DiscordID',
        channel: 'GuildID',
        indicator: false,
        location: ['bottom', 'left']
    })
</script>
 
Installed the latest update and my user registrations stopped working.

Just an FYI, I uninstalled the add on and all is working once more. Will see if I can find any errors.

Code:
Stack trace

UPDATE  `xf_user_option` SET `discord_options` = ? WHERE `user_id` = 2431
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL statement...', 1054, '42S22')
#1 src/XF/Db/Mysqli/Statement.php(40): XF\Db\Mysqli\Statement->getException('MySQL statement...', 1054, '42S22')
#2 src/XF/Db/Mysqli/Statement.php(54): XF\Db\Mysqli\Statement->prepare()
#3 src/XF/Db/AbstractAdapter.php(79): XF\Db\Mysqli\Statement->execute()
#4 src/XF/Db/AbstractAdapter.php(245): XF\Db\AbstractAdapter->query('UPDATE  `xf_use...', Array)
#5 src/XF/Mvc/Entity/Entity.php(1394): XF\Db\AbstractAdapter->update('xf_user_option', Array, '`user_id` = 243...')
#6 src/XF/Mvc/Entity/Entity.php(1121): XF\Mvc\Entity\Entity->_saveToSource()
#7 src/addons/EWR/Discord/Pub/Controller/Account.php(28): XF\Mvc\Entity\Entity->save()
#8 src/addons/DayNightSwitcher/XF/Pub/Controller/Account.php(11): EWR\Discord\Pub\Controller\Account->preferencesSaveProcess(Object(SV\UserEssentials\XF\Entity\User))
#9 src/addons/Snog/Groups/XF/Pub/Controller/Account.php(9): DayNightSwitcher\XF\Pub\Controller\Account->preferencesSaveProcess(Object(SV\UserEssentials\XF\Entity\User))
#10 src/addons/SV/UserMentionsImprovements/XF/Pub/Controller/Account.php(11): Snog\Groups\XF\Pub\Controller\Account->preferencesSaveProcess(Object(SV\UserEssentials\XF\Entity\User))
#11 src/XF/Pub/Controller/Account.php(311): SV\UserMentionsImprovements\XF\Pub\Controller\Account->preferencesSaveProcess(Object(SV\UserEssentials\XF\Entity\User))
#12 src/XF/Mvc/Dispatcher.php(249): XF\Pub\Controller\Account->actionPreferences(Object(XF\Mvc\ParameterBag))
#13 src/XF/Mvc/Dispatcher.php(89): XF\Mvc\Dispatcher->dispatchClass('XF:Account', 'preferences', 'json', Object(XF\Mvc\ParameterBag), 'account', Object(SV\UserEssentials\XF\Pub\Controller\Account), NULL)
#14 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#15 src/XF/App.php(1931): XF\Mvc\Dispatcher->run()
#16 src/XF.php(328): XF\App->run()
#17 index.php(13): XF::runApp('XF\\Pub\\App')
#18 {main}

Request state

array(4) {
  ["url"] => string(30) "/index.php?account/preferences"
  ["referrer"] => string(53) "https://carbonite.co.za/index.php?account/preferences"
  ["_GET"] => array(1) {
    ["account/preferences"] => string(0) ""
  }
  ["_POST"] => array(7) {
    ["user"] => array(5) {
      ["style_id"] => string(2) "22"
      ["language_id"] => string(1) "1"
      ["timezone"] => string(13) "Europe/Athens"
      ["visible"] => string(1) "1"
      ["activity_visible"] => string(1) "1"
    }
    ["option"] => array(3) {
      ["receive_admin_email"] => string(1) "1"
      ["email_on_conversation"] => string(1) "1"
      ["content_show_signature"] => string(1) "1"
    }
    ["alert"] => array(16) {
      ["post_insert"] => string(1) "1"
      ["post_quote"] => string(1) "1"
      ["post_mention"] => string(1) "1"
      ["post_like"] => string(1) "1"
      ["profile_post_insert"] => string(1) "1"
      ["profile_post_mention"] => string(1) "1"
      ["profile_post_like"] => string(1) "1"
      ["profile_post_comment_your_profile"] => string(1) "1"
      ["profile_post_comment_your_post"] => string(1) "1"
      ["profile_post_comment_other_commenter"] => string(1) "1"
      ["profile_post_comment_like"] => string(1) "1"
      ["conversation_message_like"] => string(1) "1"
      ["user_following"] => string(1) "1"
      ["trophy_award"] => string(1) "1"
      ["unc_approved_own"] => string(1) "1"
      ["unc_denied_own"] => string(1) "1"
    }
    ["_xfToken"] => string(8) "********"
    ["_xfRequestUri"] => string(30) "/index.php?account/preferences"
    ["_xfWithData"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
  }
}
 
Last edited:
I think I already know the answer but it wouldn't be possible to send on only certain f activity to the server? My site has a Staff Area that's reserved for staff members only. Regularly members don't have access and we discuss all things we don't want out there.
 
@Jaxel would love a reply from you...
I have no plans to expand XFRM support more than it has.

XenRio support is already built in... it only posts featured streams.

I can't give support for third party skins.

I think I already know the answer but it wouldn't be possible to send on only certain f activity to the server? My site has a Staff Area that's reserved for staff members only. Regularly members don't have access and we discuss all things we don't want out there.
This is already built in.
 
Top Bottom