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"
>