import DiscordSelect from '../common/DiscordSelect';
 import Icon from '../common/Icon';
 import ToggleSwitch from '../common/ToggleSwitch';
+import { INVITE_URL } from '../../helpers/discord';
 import Tournament from '../../helpers/Tournament';
 import i18n from '../../i18n';
 
                await axios.post(`/api/tournaments/${tournament.id}/open`);
                toastr.success(i18n.t('tournaments.openSuccess'));
        } catch (e) {
-               toastr.error(i18n.t('tournaments.openError'));
+               toastr.error(i18n.t('tournaments.openError', { error: e.message }));
        }
 };
 
                await axios.post(`/api/tournaments/${tournament.id}/close`);
                toastr.success(i18n.t('tournaments.closeSuccess'));
        } catch (e) {
-               toastr.error(i18n.t('tournaments.closeError'));
+               toastr.error(i18n.t('tournaments.closeError', { error: e.message }));
        }
 };
 
                await axios.post(`/api/tournaments/${tournament.id}/lock`);
                toastr.success(i18n.t('tournaments.lockSuccess'));
        } catch (e) {
-               toastr.error(i18n.t('tournaments.lockError'));
+               toastr.error(i18n.t('tournaments.lockError', { error: e.message }));
        }
 };
 
                await axios.post(`/api/tournaments/${tournament.id}/unlock`);
                toastr.success(i18n.t('tournaments.unlockSuccess'));
        } catch (e) {
-               toastr.error(i18n.t('tournaments.unlockError'));
+               toastr.error(i18n.t('tournaments.unlockError', { error: e.message }));
        }
 };
 
                await axios.post(`/api/tournaments/${tournament.id}/discord`, { guild_id });
                toastr.success(i18n.t('tournaments.discordSuccess'));
        } catch (e) {
-               toastr.error(i18n.t('tournaments.discordError'));
+               toastr.error(i18n.t('tournaments.discordError', { error: e.message }));
        }
 };
 
                await axios.post(`/api/tournaments/${tournament.id}/settings`, params);
                toastr.success(i18n.t('tournaments.settingsSuccess'));
        } catch (e) {
-               toastr.error(i18n.t('tournaments.settingsError'));
+               toastr.error(i18n.t('tournaments.settingsError', { error: e.message }));
        }
 };
 
-const inviteUrl = 'https://discordapp.com/oauth2/authorize?client_id=951113702839549982&scope=bot';
-
 const SettingsDialog = ({
        onHide,
        show,
                                                {!tournament.discord ?
                                                        <div>
                                                                <Button
-                                                                       href={inviteUrl}
+                                                                       href={INVITE_URL}
                                                                        target="_blank"
                                                                        variant="discord"
                                                                >
 
--- /dev/null
+const authEndpoint = 'https://discord.com/oauth2/authorize';
+const clientId = import.meta.env.VITE_DISCORD_CLIENT_ID;
+const scope = 'bot+applications.commands';
+// Manage Roles, Manage Channels, View Channels, Manage Events, Create Events
+const permissions = '17601044415504';
+export const INVITE_URL = `${authEndpoint}?client_id=${clientId}&scope=${scope}&permissions=${permissions}`;
 
 import ErrorBoundary from '../components/common/ErrorBoundary';
 import Icon from '../components/common/Icon';
 import Controls from '../components/discord-bot/Controls';
-
-const authEndpoint = 'https://discord.com/oauth2/authorize';
-const clientId = import.meta.env.VITE_DISCORD_CLIENT_ID;
+import { INVITE_URL } from '../helpers/discord';
 
 export const Component = () => {
        const { t } = useTranslation();
                <p>
                        <span className="button-bar">
                                <Button
-                                       href={`${authEndpoint}?client_id=${clientId}&scope=bot%20applications.commands`}
+                                       href={INVITE_URL}
                                        target="_blank"
                                        variant="discord"
                                >