|
|
@ -9,11 +9,8 @@
|
|
|
|
xmlns:materialIcons="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
|
|
|
xmlns:materialIcons="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
|
|
|
xmlns:materialStyles="clr-namespace:Material.Styles.Controls;assembly=Material.Styles"
|
|
|
|
xmlns:materialStyles="clr-namespace:Material.Styles.Controls;assembly=Material.Styles"
|
|
|
|
x:Name="UserControl"
|
|
|
|
x:Name="UserControl"
|
|
|
|
|
|
|
|
x:DataType="components:DashboardViewModel"
|
|
|
|
Loaded="UserControl_OnLoaded">
|
|
|
|
Loaded="UserControl_OnLoaded">
|
|
|
|
<Design.DataContext>
|
|
|
|
|
|
|
|
<components:DashboardViewModel />
|
|
|
|
|
|
|
|
</Design.DataContext>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<DockPanel>
|
|
|
|
<DockPanel>
|
|
|
|
<!-- Header -->
|
|
|
|
<!-- Header -->
|
|
|
|
<StackPanel
|
|
|
|
<StackPanel
|
|
|
@ -95,126 +92,6 @@
|
|
|
|
</Style>
|
|
|
|
</Style>
|
|
|
|
</Style>
|
|
|
|
</Style>
|
|
|
|
</Panel.Styles>
|
|
|
|
</Panel.Styles>
|
|
|
|
<!-- Placeholder / usage instructions -->
|
|
|
|
|
|
|
|
<Panel IsVisible="{Binding !AvailableGuilds.Count}">
|
|
|
|
|
|
|
|
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
|
|
|
|
|
|
|
|
<TextBlock
|
|
|
|
|
|
|
|
Margin="32,16"
|
|
|
|
|
|
|
|
FontSize="14"
|
|
|
|
|
|
|
|
FontWeight="Light"
|
|
|
|
|
|
|
|
LineHeight="23">
|
|
|
|
|
|
|
|
<!-- User token -->
|
|
|
|
|
|
|
|
<InlineUIContainer>
|
|
|
|
|
|
|
|
<materialIcons:MaterialIcon
|
|
|
|
|
|
|
|
Width="18"
|
|
|
|
|
|
|
|
Height="18"
|
|
|
|
|
|
|
|
Margin="0,-2,0,0"
|
|
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryHueMidBrush}"
|
|
|
|
|
|
|
|
Kind="Account" />
|
|
|
|
|
|
|
|
</InlineUIContainer>
|
|
|
|
|
|
|
|
<Run Text="" />
|
|
|
|
|
|
|
|
<Run
|
|
|
|
|
|
|
|
FontSize="16"
|
|
|
|
|
|
|
|
FontWeight="SemiBold"
|
|
|
|
|
|
|
|
Text="To get the token for your personal account:" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="* Automating user accounts is technically against TOS —" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="use at your own risk" /><Run Text="!" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="1. Open Discord in your" />
|
|
|
|
|
|
|
|
<controls:HyperLink Command="{Binding OpenDiscordCommand}" Text="web browser" />
|
|
|
|
|
|
|
|
<Run Text="and login" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="2. Open any server or direct message channel" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="3. Press" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Ctrl+Shift+I" />
|
|
|
|
|
|
|
|
<Run Text="to show developer tools" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="4. Navigate to the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Network" />
|
|
|
|
|
|
|
|
<Run Text="tab" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="5. Press" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Ctrl+R" />
|
|
|
|
|
|
|
|
<Run Text="to reload" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="6. Switch between random channels to trigger network requests" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="7. Search for a request that starts with" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="messages" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="8. Select the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Headers" />
|
|
|
|
|
|
|
|
<Run Text="tab on the right" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="9. Scroll down to the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Request Headers" />
|
|
|
|
|
|
|
|
<Run Text="section" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="10. Copy the value of the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="authorization" />
|
|
|
|
|
|
|
|
<Run Text="header" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Bot token -->
|
|
|
|
|
|
|
|
<InlineUIContainer>
|
|
|
|
|
|
|
|
<materialIcons:MaterialIcon
|
|
|
|
|
|
|
|
Width="18"
|
|
|
|
|
|
|
|
Height="18"
|
|
|
|
|
|
|
|
Margin="0,-2,0,0"
|
|
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryHueMidBrush}"
|
|
|
|
|
|
|
|
Kind="Robot" />
|
|
|
|
|
|
|
|
</InlineUIContainer>
|
|
|
|
|
|
|
|
<Run Text="" />
|
|
|
|
|
|
|
|
<Run
|
|
|
|
|
|
|
|
FontSize="16"
|
|
|
|
|
|
|
|
FontWeight="SemiBold"
|
|
|
|
|
|
|
|
Text="To get the token for your bot:" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="1. Open Discord" />
|
|
|
|
|
|
|
|
<controls:HyperLink Command="{Binding OpenDiscordDeveloperPortalCommand}" Text="developer portal" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="2. Open your application's settings" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="3. Navigate to the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Bot" />
|
|
|
|
|
|
|
|
<Run Text="section on the left" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="4. Under" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Token" />
|
|
|
|
|
|
|
|
<Run Text="click" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Copy" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="* Your bot needs to have the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Message Content Intent" />
|
|
|
|
|
|
|
|
<Run Text="enabled to read messages" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="If you have questions or issues, please refer to the" />
|
|
|
|
|
|
|
|
<controls:HyperLink Command="{Binding ShowHelpCommand}" Text="documentation" />
|
|
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
|
|
</ScrollViewer>
|
|
|
|
|
|
|
|
</Panel>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Guilds and channels -->
|
|
|
|
<!-- Guilds and channels -->
|
|
|
|
<Grid ColumnDefinitions="Auto,*" IsVisible="{Binding !!AvailableGuilds.Count}">
|
|
|
|
<Grid ColumnDefinitions="Auto,*" IsVisible="{Binding !!AvailableGuilds.Count}">
|
|
|
|
<!-- Guilds -->
|
|
|
|
<!-- Guilds -->
|
|
|
@ -339,6 +216,126 @@
|
|
|
|
</Border>
|
|
|
|
</Border>
|
|
|
|
</Grid>
|
|
|
|
</Grid>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Placeholder / usage instructions -->
|
|
|
|
|
|
|
|
<Panel IsVisible="{Binding !AvailableGuilds.Count}">
|
|
|
|
|
|
|
|
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
|
|
|
|
|
|
|
|
<TextBlock
|
|
|
|
|
|
|
|
Margin="32,16"
|
|
|
|
|
|
|
|
FontSize="14"
|
|
|
|
|
|
|
|
FontWeight="Light"
|
|
|
|
|
|
|
|
LineHeight="23">
|
|
|
|
|
|
|
|
<!-- User token -->
|
|
|
|
|
|
|
|
<InlineUIContainer>
|
|
|
|
|
|
|
|
<materialIcons:MaterialIcon
|
|
|
|
|
|
|
|
Width="18"
|
|
|
|
|
|
|
|
Height="18"
|
|
|
|
|
|
|
|
Margin="0,-2,0,0"
|
|
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryHueMidBrush}"
|
|
|
|
|
|
|
|
Kind="Account" />
|
|
|
|
|
|
|
|
</InlineUIContainer>
|
|
|
|
|
|
|
|
<Run Text="" />
|
|
|
|
|
|
|
|
<Run
|
|
|
|
|
|
|
|
FontSize="16"
|
|
|
|
|
|
|
|
FontWeight="SemiBold"
|
|
|
|
|
|
|
|
Text="To get the token for your personal account:" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="* Automating user accounts is technically against TOS —" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="use at your own risk" /><Run Text="!" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="1. Open Discord in your" />
|
|
|
|
|
|
|
|
<controls:HyperLink Command="{Binding OpenDiscordCommand}" Text="web browser" />
|
|
|
|
|
|
|
|
<Run Text="and login" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="2. Open any server or direct message channel" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="3. Press" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Ctrl+Shift+I" />
|
|
|
|
|
|
|
|
<Run Text="to show developer tools" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="4. Navigate to the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Network" />
|
|
|
|
|
|
|
|
<Run Text="tab" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="5. Press" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Ctrl+R" />
|
|
|
|
|
|
|
|
<Run Text="to reload" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="6. Switch between random channels to trigger network requests" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="7. Search for a request that starts with" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="messages" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="8. Select the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Headers" />
|
|
|
|
|
|
|
|
<Run Text="tab on the right" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="9. Scroll down to the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Request Headers" />
|
|
|
|
|
|
|
|
<Run Text="section" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="10. Copy the value of the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="authorization" />
|
|
|
|
|
|
|
|
<Run Text="header" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Bot token -->
|
|
|
|
|
|
|
|
<InlineUIContainer>
|
|
|
|
|
|
|
|
<materialIcons:MaterialIcon
|
|
|
|
|
|
|
|
Width="18"
|
|
|
|
|
|
|
|
Height="18"
|
|
|
|
|
|
|
|
Margin="0,-2,0,0"
|
|
|
|
|
|
|
|
Foreground="{DynamicResource PrimaryHueMidBrush}"
|
|
|
|
|
|
|
|
Kind="Robot" />
|
|
|
|
|
|
|
|
</InlineUIContainer>
|
|
|
|
|
|
|
|
<Run Text="" />
|
|
|
|
|
|
|
|
<Run
|
|
|
|
|
|
|
|
FontSize="16"
|
|
|
|
|
|
|
|
FontWeight="SemiBold"
|
|
|
|
|
|
|
|
Text="To get the token for your bot:" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="1. Open Discord" />
|
|
|
|
|
|
|
|
<controls:HyperLink Command="{Binding OpenDiscordDeveloperPortalCommand}" Text="developer portal" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="2. Open your application's settings" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="3. Navigate to the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Bot" />
|
|
|
|
|
|
|
|
<Run Text="section on the left" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="4. Under" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Token" />
|
|
|
|
|
|
|
|
<Run Text="click" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Copy" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="* Your bot needs to have the" />
|
|
|
|
|
|
|
|
<Run FontWeight="SemiBold" Text="Message Content Intent" />
|
|
|
|
|
|
|
|
<Run Text="enabled to read messages" />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
<LineBreak />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Run Text="If you have questions or issues, please refer to the" />
|
|
|
|
|
|
|
|
<controls:HyperLink Command="{Binding ShowHelpCommand}" Text="documentation" />
|
|
|
|
|
|
|
|
</TextBlock>
|
|
|
|
|
|
|
|
</ScrollViewer>
|
|
|
|
|
|
|
|
</Panel>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Export button -->
|
|
|
|
<!-- Export button -->
|
|
|
|
<Button
|
|
|
|
<Button
|
|
|
|
Width="56"
|
|
|
|
Width="56"
|
|
|
|