static void Main(string[] args) { ILoggerFactory loggerFactory = new LoggerFactory().AddConsole(); ILogger <VkBot> logger = loggerFactory.CreateLogger <VkBot>(); ExampleSettings settings = ExampleSettings.TryToLoad(logger); VkBot bot = new VkBot(settings.AccessToken, settings.GroupUrl, logger); /* subscribe for anon lambda in order to receive any update */ bot.OnGroupUpdateReceived += (sender, eventArgs) => { logger.LogInformation(eventArgs.Update.Type.ToString() + " event type triggered"); }; /* subscribe for static method in order to receive new comment update type */ bot.OnGroupUpdateReceived += NewCommentHandler; bot.OnBotStarted += (sender, eventArgs) => { bot.Api.Wall.CreateComment(new WallCreateCommentParams() { OwnerId = -bot.GroupId, PostId = 1, Message = "test" }); }; bot.Start(); //bot.Dispose(); Console.ReadLine(); }
static void Main(string[] args) { ILoggerFactory loggerFactory = new LoggerFactory().AddConsole(); ILogger <VkBot> logger = loggerFactory.CreateLogger <VkBot>(); ExampleSettings settings = ExampleSettings.TryToLoad(logger); VkBot bot = new VkBot(settings.AccessToken, settings.GroupUrl, logger); //регистрируем текстовый ответ на "+матеша" bot.TemplateManager.Register(new RegexToActionTemplate(MateshaSubscribeCommand, "ну окей, вот тебе матеша")); //регистрируем обработчик-функцию на "+матеша" bot.TemplateManager.Register(new RegexToActionTemplate(MateshaSubscribeCommand, MateshaHandler)); //важно: отсутствие PeerId в конструкторе RegexToActionTemplate означает // способ удаления клавиатуры будет добавлен в следующем обновлении проекта VkNet //https://github.com/vknet/vk/pull/780 bot.TemplateManager.Register(new RegexToActionTemplate(MateshaUnsubscribeCommand, "ну окей, теперь не будет у вас этой кнопки", new KeyboardBuilder().SetOneTime().AddButton("пока", "").Build())); bot.Start(); bot.Dispose(); Console.ReadLine(); }
IEnumerator Start() { //KGameSettings.Instance.InitAction += OnGameSettingsInit; var engine = KEngine.AppEngine.New( gameObject, null, new IModuleInitable[] { //KGameSettings.Instance, // UIModule.Instance, }); while (!engine.IsInited) { yield return(null); } var uiName = "DemoHome"; UIModule.Instance.OpenWindow(uiName); Debug.Log("[SettingModule]Table: " + string.Join(",", ExampleSettings.TabFilePaths)); foreach (ExampleSetting exampleInfo in ExampleSettings.GetAll()) { Debug.Log(string.Format("Name: {0}", exampleInfo.Name)); Debug.Log(string.Format("Number: {0}", exampleInfo.Number)); } var info = ExampleSettings.Get("A_1024"); Debuger.Assert(info.Name == "Test1"); var info2 = SubdirExample2Settings.Get(2); Debuger.Assert(info2.Name == "Test2"); var info3 = AppConfigSettings.Get("Test.Cat1"); Debuger.Assert(info3.Value == "Cat1"); ExampleSettings.OnReload = () => { var reloadedInfo = ExampleSettings.Get("C_9888"); Log.Info("Reload ExampleInfos! Now info: {0} -> {1}", "C_9888", reloadedInfo.Name); }; Log.Info("Start reading streamingAssets Test..."); UIModule.Instance.CallUI(uiName, (ui, args) => { var tip = string.Format("Reading from streamingAssets, content: {0}", Encoding.UTF8.GetString(KResourceModule.LoadSyncFromStreamingAssets("TestFile.txt"))); var demoHome = ui as KUIDemoHome; demoHome.TipLabel.text += tip; // Do some UI stuff }); }
static void Main(string[] args) { ILoggerFactory loggerFactory = new LoggerFactory().AddConsole(); ILogger <VkBot> logger = loggerFactory.CreateLogger <VkBot>(); ExampleSettings settings = ExampleSettings.TryToLoad(logger); VkBot bot = new VkBot(settings.AccessToken, settings.GroupUrl, logger); bot.TemplateManager.Register(new RegexToActionTemplate("привет", "на привет всегда отвечаю кусь")); bot.TemplateManager.Register( new RegexToActionTemplate("ты кто", new List <string>() { "меня зовут мишутка", "вы о ком", "не говори так", "а ты кто?" })); bot.TemplateManager.Register( new RegexToActionTemplate("^[0-9]+$", "ого, я определил, что вы прислали мне число!")); bot.TemplateManager.Register(new RegexToActionTemplate("колобок", (sender, eventArgs) => { logger.LogInformation( $"кто-то написал {eventArgs.Message.Text}, я могу регировать на эту фразу так, как я хочу! system(\"reboot\")"); })); bot.TemplateManager.Register(new RegexToActionTemplate("квадр.*[0-9]+", (sender, eventArgs) => { logger.LogInformation( $"кто-то написал '{eventArgs.Message.Text}', пора вычислить квадрат числа в сообщении!"); int num = int.Parse(Regex.Match(eventArgs.Message.Text, "[0-9]+").Value); sender.Api.Messages.Send(new MessagesSendParams() { RandomId = Environment.TickCount, PeerId = eventArgs.Message.PeerId, Message = $"квадрат числа {num} равен {num * num}" }); })); var keyboard = new KeyboardBuilder().SetOneTime() .AddButton("лол", "кек", KeyboardButtonColor.Positive, "type").Build(); bot.TemplateManager.Register(new RegexToActionTemplate("кнопка", "лови кнопку", keyboard)); bot.Start(); bot.Dispose(); Console.ReadLine(); }
public void Initialize() { ExampleSettings.Load(); wManagerSetting.CurrentSetting.UseLuaToMove = true; RotationFramework.Initialize(ExampleSettings.CurrentSetting.SlowRotation, ExampleSettings.CurrentSetting.FrameLock); MovementEvents.OnMovementPulse += LongGhostWolfHandler; MovementEvents.OnMoveToPulse += GhostWolfHandler; _isLaunched = true; RotationSpells.Sort((a, b) => a.Priority.CompareTo(b.Priority)); Rotation(); }
static void Main(string[] args) { ILoggerFactory loggerFactory = new LoggerFactory().AddConsole(); ILogger <VkBot> logger = loggerFactory.CreateLogger <VkBot>(); ExampleSettings settings = ExampleSettings.TryToLoad(logger); VkBot bot = new VkBot(settings.AccessToken, settings.GroupUrl, logger); var keyboard = new KeyboardBuilder().SetOneTime().AddButton("тык", "").AddButton("тыдыщ", "").Build(); bot.TemplateManager.Register(new RegexToActionTemplate("тык", (sender, eventArgs) => { PeerContext context = eventArgs.PeerContext; long peerId = eventArgs.Message.PeerId.Value; if (!context.Vars.ContainsKey("тыки")) { context.Vars["тыки"] = 0; } sender.Api.Messages.Send(new MessagesSendParams() { Keyboard = keyboard, PeerId = peerId, Message = $"тык номер {context.Vars["тыки"]++}", RandomId = Math.Abs(Environment.TickCount) }); } )); bot.TemplateManager.Register(new RegexToActionTemplate("тыдыщ", (sender, eventArgs) => { if (!eventArgs.PeerContext.GlobalVars.ContainsKey("тыдыщи")) { eventArgs.PeerContext.GlobalVars["тыдыщи"] = 0; } sender.Api.Messages.Send(new MessagesSendParams() { Keyboard = keyboard, PeerId = eventArgs.Message.PeerId, Message = $"глобальный, междиалоговый тыдыщ номер {eventArgs.PeerContext.GlobalVars["тыдыщи"]++}", RandomId = Math.Abs(Environment.TickCount) }); })); bot.Start(); bot.Dispose(); }
static void Main(string[] args) { ILoggerFactory loggerFactory = new LoggerFactory().AddConsole(); ILogger <VkBot> logger = loggerFactory.CreateLogger <VkBot>(); ExampleSettings settings = ExampleSettings.TryToLoad(logger); VkBot bot = new VkBot(settings.AccessToken, settings.GroupUrl, logger); bot.OnMessageReceived += NewMessageHandler; bot.Start(); Console.ReadLine(); }
public static bool Load() { try { if (File.Exists(AdviserFilePathAndName("CustomClass-ExampleSettings", ObjectManager.Me.Name + "." + Usefuls.RealmName))) { CurrentSetting = Load <ExampleSettings>(AdviserFilePathAndName("CustomClass-ExampleSettings", ObjectManager.Me.Name + "." + Usefuls.RealmName)); return(true); } CurrentSetting = new ExampleSettings(); } catch (Exception e) { Logging.WriteError("ExampleSettings > Load(): " + e); } return(false); }
public ExampleRequiredConnection(ILogger <ExampleRequiredConnection> logger, IEventBus eventBus, IOptions <ExampleSettings> options, IConnectivityPeerStats serverPeerStats, IForgeClientConnectivity forgeConnectivity, IPeriodicWork connectionLoop) : base(logger, eventBus, serverPeerStats, forgeConnectivity, connectionLoop) { _settings = options.Value !; foreach (ExampleClientPeerBinding peerBinding in _settings.Connections) { if (!peerBinding.TryGetExampleEndPoint(out ExampleEndPoint? endPoint)) { logger.LogWarning("Required connection skipped because of wrong format, check settings file. {Endpoint}", peerBinding.EndPoint); continue; } var remoteEndPoint = new OutgoingConnectionEndPoint(endPoint); remoteEndPoint.Items[nameof(endPoint.MyExtraInformation)] = endPoint.MyExtraInformation; _connectionsToAttempt.Add(remoteEndPoint); } }
public ExampleService(ILogger <ExampleService> logger, IOptions <ExampleSettings> exampleSettings) { this.logger = logger; this.exampleSettings = exampleSettings.Value; }
public void ShowConfiguration() { ExampleSettings.Load(); ExampleSettings.CurrentSetting.ToForm(); ExampleSettings.CurrentSetting.Save(); }