Example #1
0
 public PhotoCommand(IWeiboService client, Control control)
 {
 }
Example #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            NotifyIcon.Text = @"检查和保存设置中...";
            DebugPrintHelper("当前状态:检查和保存设置中...");

            var pin = txtPin.Text.Trim();
            if(!string.IsNullOrEmpty(pin))
            {
                AccessToken accessToken;
                try
                {
                    accessToken = _requestToken.ToAccessToken(pin);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    UnlockAccountSetup();
                    return;
                }

                //保存用户设置
                Settings.Default.AccessToken = accessToken.Token;
                Settings.Default.AccessTokenSecret = accessToken.Secret;

                Settings.Default.Save();
            }

            if (string.IsNullOrEmpty(Settings.Default.AccessToken) || string.IsNullOrEmpty(Settings.Default.AccessTokenSecret))
            {
                UnlockAccountSetup();
                MessageBox.Show(@"请先使用微博账号登录");
                return;
            }

            try
            {
                _service = WeiboServiceFactory.CreateInstance();
                _service.VerifyCredentials();

                LockAccountSetup();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                UnlockAccountSetup();
                return;
            }

            //保存邮箱信息
            Settings.Default.MyEmailAddress = txtMyEmailAddress.Text.Trim();
            Settings.Default.SendPhotoByEmail = chkSendPhotoByEmail.Checked;
            Settings.Default.AutoClear = chkClear.Checked;

            if(!Directory.Exists(txtDownloadPath.Text))
            {
                MessageBox.Show("下载目录不存在,请重新选择");
                return;
            }
            Settings.Default.DownloadPath = txtDownloadPath.Text;
            Settings.Default.Save();

            //最小化主窗口并在任务栏显示
            WindowState = FormWindowState.Minimized;
            ShowInTaskbar = false;
            tmrPCRemote.Enabled = true;
            btnSave.Text = @"保 存";
            NotifyIcon.Text = @"PC遥控器已经激活,正在等待新的命令...";
            DebugPrintHelper("当前状态:PC遥控器已经激活,正在等待新的命令...");
        }
Example #3
0
        private void tmrPCRemote_Tick(object sender, EventArgs e)
        {
            tmrPCRemote.Enabled = false;
            if (ShowInTaskbar)
            {
                return;
            }

            NotifyIcon.Text = @"正在检查是否有新的微博...";
            DebugPrintHelper("当前状态:正在检查是否有新的微博...");

            //检查用户账号是否合法
            try
            {
                _service = WeiboServiceFactory.CreateInstance();
                _service.VerifyCredentials();
            }
            catch (Exception ex)
            {
                DebugPrintHelper("错误:用户登录失败。\n" + ex.Message);
                tmrPCRemote.Enabled = true;
            }

            //检查新微博
            try
            {
                var status = _service.GetMyFirstWeibo();
                if (status.Id.Trim() != Settings.Default.LastID.Trim())
                {
                    Settings.Default.LastID = status.Id.Trim();
                    Settings.Default.IdsToClear += string.IsNullOrEmpty(Settings.Default.IdsToClear)
                                                       ? status.Id.Trim()
                                                       : "," + status.Id.Trim();

                    Settings.Default.Save();

                    //把最新的一条微博的命令部分拆出来
                    var command = status.Text.Split(new[] { "$$" }, StringSplitOptions.None)[0];
                    while (command.EndsWith(" "))
                    {
                        command = command.Remove(command.Length - 1, 1);
                    }
                    DebugPrintHelper("新发布的命令为: \"" + command + "\"");
                    tmrPCRemote.Interval = 7000;

                    //解释命令
                    ProcessCommand(command, status.Id);
                }
                else
                {
                    if (tmrPCRemote.Interval == 7000)
                    {
                        tmrPCRemote.Interval = 8000;
                    }
                    else if (tmrPCRemote.Interval == 8000)
                    {
                        tmrPCRemote.Interval = 9000;
                    }
                    else if (tmrPCRemote.Interval == 9000)
                    {
                        tmrPCRemote.Interval = 10000;
                    }
                    else if (tmrPCRemote.Interval == 10000)
                    {
                        tmrPCRemote.Interval = 16000;
                    }
                    else
                    {
                        tmrPCRemote.Interval = 16000;
                    }
                }
            }
            catch (Exception ex)
            {
                DebugPrintHelper(ex.Message);
                tmrPCRemote.Interval = 16000;
                tmrPCRemote.Enabled = true;
                return;
            }

            tmrPCRemote.Enabled = true;
            NotifyIcon.Text = @"PC遥控器已经激活,正在等待新的命令...";
            DebugPrintHelper("当前状态:PC遥控器已经激活,正在等待新的命令...");
        }
Example #4
0
        private void SendComment(string weiboId, string message)
        {
            NotifyIcon.Text = @"正在发送微博...";
            try
            {
                _service = WeiboServiceFactory.CreateInstance();

                var weiboType = Settings.Default.WeiboType.ToLower();
                switch (weiboType)
                {
                    case "新浪微博":
                        _service.SendComment(weiboId, message + "有问题请@四眼蒙面侠 " + DateTime.Now.Ticks);
                        break;
                    case "腾讯微博":
                        _service.SendComment(weiboId, message + "有问题请@suchuanyi " + DateTime.Now.Ticks);
                        break;
                }
            }
            catch (Exception ex)
            {
                DebugPrintHelper(ex.Message);
            }
        }
Example #5
0
        private void Main_Load(object sender, EventArgs e)
        {
            if(string.IsNullOrEmpty(Settings.Default.AccessToken) || string.IsNullOrEmpty(Settings.Default.AccessTokenSecret))
            {
                UnlockAccountSetup();
                return;
            }

            if (!string.IsNullOrEmpty(Settings.Default.WeiboType))
                ddlWeibo.Text = Settings.Default.WeiboType;

            try
            {
                _service = WeiboServiceFactory.CreateInstance();
                _service.VerifyCredentials();

                LockAccountSetup();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                UnlockAccountSetup();
                return;
            }

            WindowState = FormWindowState.Minimized;
            ShowInTaskbar = false;

            chkAutoStart.Checked = Settings.Default.AutomaticStart;
            chkSendPhotoByEmail.Checked = Settings.Default.SendPhotoByEmail;
            //chkClear.Checked = Settings.Default.AutoClear;

            txtMyEmailAddress.Text = Settings.Default.MyEmailAddress;
            txtDownloadPath.Text = Settings.Default.DownloadPath;

            DebugPrintHelper("---");
            DebugPrintHelper("---");
            DebugPrintHelper("程序正在启动...");
            WorkingFolder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
            DebugPrintHelper("Workingfolder: " + WorkingFolder);

            tmrPCRemote.Enabled = true;
            NotifyIcon.Text = @"PC遥控器已经激活,正在等待新的命令...";
            DebugPrintHelper("当前状态:PC遥控器已经激活,正在等待新的命令...");
        }
Example #6
0
 public ProcessListCommand(IWeiboService service)
 {
     _service = service;
 }