public static string GetNextMessageForDialog_Ad(DialogSettings dialog, bool isMessageForIntervalDispatching) { string result = null; if (AdTextSettings.IsNeedAd(dialog)) { result = AdTextSettings.GetNextStringAndCommit(); } if (string.IsNullOrEmpty(result)) { result = isMessageForIntervalDispatching ? RandomMessages.GetNext_Interval() : RandomMessages.GetNext(); } return(result); }
public static void LoadSessions() { foreach (var filename in Directory.GetFiles(StringConstants.SessionsFolder)) { if (!filename.EndsWith(StringConstants.ExceptSessionFilename)) { var hData = HierarchicalObject.FromFile(filename); DialogSettings dialog = hData[0]; dialog.Message = NeedMessage(dialog.Id); if (dialog.Message != null) { dialog.Vk = NeedApi(); Sessions.Add(dialog.Id, dialog); dialog.Initialize(); } } } }
static void Main(string[] args) { //authorization var vk = new VkApi(new VkCaptchaSolver.VkCaptchaSolver()); vk.Authorize(VkUtils.GetCredentials()); //dialogs loading DialogSettings.NeedApi = () => vk; DialogSettings.NeedMessage = (id) => VkUtils.GetLastMessage(vk, id); //reloader EroRepository.Reload(); RandomMessages.Reload(); AdTextSettings.Reload(vk); AdPicturesSettings.Reload(vk); var reloaderThread = new Thread(() => { while (true) { lock (vk) { EroRepository.Reload(); RandomMessages.Reload(); AdTextSettings.Reload(vk); AdPicturesSettings.Reload(vk); } //Thread.Sleep(10000); Thread.Sleep(1000 * 60 * 60); } }); reloaderThread.Start(); //initialize dialogs settings DialogSettings.LoadSessions(); //main actions while (true) { try { lock (vk) { var newMessages = vk.Messages.GetDialogs(new MessagesDialogsGetParams() { Offset = 0, Count = 200, Unread = true }); foreach (var message in newMessages.Messages) { if (!VkNet.VkUtils.IsChat(message) || CommandUtils.StartCommand.IsIt(message.Body)) { CommandUtils.StartCommand.Execute(vk, message, message.Body); } } } VkNet.VkUtils.TechnicalSleepForVk(); } catch (Exception e) { if (!e.Message.Contains("Flood")) { Log.Write(e); Console.WriteLine(e.Message); } else if (VkUtils.IsAccessTokenError(e)) { vk.RefreshToken(); } } } }
public static bool IsNeedAd(DialogSettings dialog) { return(IsAllow && dialog.TotalImagesSent >= Interval && dialog.TotalImagesSent % Interval == 0); }
public static KeyValuePair <Photo, string> GetNextPictureAndMessageForDialog_Ad(VkApi vk, DialogSettings dialog, Album album = null) { Photo photo = null; string message = null; if (AdPicturesSettings.IsNeedAd(dialog)) { photo = AdPicturesSettings.GetNextPicAndCommit(vk); if (photo != null) { message = photo.Text; } } if (photo == null) { photo = album == null?GetRandomPicture(vk) : GetRandomPicture(vk, album); message = GetNextMessageForDialog_Ad(dialog, false); } dialog.IncrementImgsCountAndCommit(); return(new KeyValuePair <Photo, string>(photo, message)); }