106 lines
3.4 KiB
C#
106 lines
3.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using DevComponents.AdvTree;
|
|
using DevComponents.DotNetBar;
|
|
|
|
namespace SM64_ROM_Manager.ProgressUpdater
|
|
{
|
|
public partial class DiscordSettingsDialog : OfficeForm
|
|
{
|
|
private readonly Settings settings;
|
|
|
|
public DiscordSettingsDialog(Settings settings)
|
|
{
|
|
InitializeComponent();
|
|
this.settings = settings;
|
|
TextBoxX_BotToken.Text = settings.DiscordBotToken;
|
|
TextBoxX_ImgBaseURL.Text = settings.DiscordMsgBaseURL;
|
|
TextBoxX_UrlExtraCounterParam.Text = settings.DiscordMsgParamCounter;
|
|
CheckBoxX_EnableDiscordUpload.Checked = settings.DiscordUploadEnabled;
|
|
}
|
|
|
|
private void TextBoxX_BotToken_TextChanged(object sender, EventArgs e)
|
|
{
|
|
settings.DiscordBotToken = TextBoxX_BotToken.Text.Trim();
|
|
}
|
|
|
|
private void TextBoxX_ImgBaseURL_TextChanged(object sender, EventArgs e)
|
|
{
|
|
settings.DiscordMsgBaseURL = TextBoxX_ImgBaseURL.Text.Trim();
|
|
}
|
|
|
|
private void TextBoxX_UrlExtraCounterParam_TextChanged(object sender, EventArgs e)
|
|
{
|
|
settings.DiscordMsgParamCounter = TextBoxX_UrlExtraCounterParam.Text.Trim();
|
|
}
|
|
|
|
private void ButtonX1_Click(object sender, EventArgs e)
|
|
{
|
|
var dmgr = new DiscordMgr(settings);
|
|
bool hasError = false;
|
|
dmgr.LoggedMsg += (ssender, msg, isError) => { if (hasError) hasError = true; };
|
|
dmgr.Start();
|
|
|
|
while (!dmgr.IsReady && !hasError)
|
|
{
|
|
Application.DoEvents();
|
|
}
|
|
|
|
if (hasError)
|
|
{
|
|
MessageBox.Show("Entwender deaktiviert oder Token ist falsch.", string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
else
|
|
{
|
|
AdvTree1.BeginUpdate();
|
|
AdvTree1.Nodes.Clear();
|
|
|
|
foreach (var guild in dmgr.Client.Guilds)
|
|
{
|
|
var nGuild = new Node()
|
|
{
|
|
Name = "g" + guild.Id,
|
|
Text = guild.Name,
|
|
Tag = guild.Id
|
|
};
|
|
|
|
foreach (var channel in guild.TextChannels)
|
|
{
|
|
var nChannel = new Node()
|
|
{
|
|
Name = "c" + channel.Id,
|
|
Text = "#" + channel.Name,
|
|
Tag = channel.Id
|
|
};
|
|
|
|
nGuild.Nodes.Add(nChannel);
|
|
}
|
|
|
|
AdvTree1.Nodes.Add(nGuild);
|
|
}
|
|
|
|
AdvTree1.EndUpdate();
|
|
dmgr.Stop();
|
|
}
|
|
}
|
|
|
|
private void AdvTree1_AfterNodeSelect(object sender, DevComponents.AdvTree.AdvTreeNodeEventArgs e)
|
|
{
|
|
if (e.Node.Name.StartsWith("c"))
|
|
{
|
|
settings.DiscordChannelID = (ulong)e.Node.Tag;
|
|
settings.DiscordGuildID = (ulong)e.Node.Parent.Tag;
|
|
}
|
|
}
|
|
|
|
private void CheckBoxX_EnableDiscordUpload_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
settings.DiscordUploadEnabled = CheckBoxX_EnableDiscordUpload.Checked;
|
|
}
|
|
}
|
|
} |