30 August, 2023

[C#] Auto Call Video Facebook Messager

Trong lập trình ứng dụng, nếu bạn nào đang viết một ứng dụng nhằm để cảnh báo, thì bài viết này sẽ giúp ích cho các bạn.

Ví dụ: Các bạn viết một ứng dụng kiểm tra kết nối mạng trong hệ thống.

Khi có sự cố về hệ thống mạng timeout thì hệ thống sẽ tự động gọi đến số facebook của chúng ta để chúng ta biết ngay lập tức để khắc phục.

Tùy theo nhu cầu sử dụng của các bạn, mình nghĩ bài viết này sẽ giúp ích được cho bạn nào đang cần sử dụng.
[C#] Auto Call Video Facebook Messager

Trong chương trình, mình sẽ sử dụng Selemium trong Chrome để nó tự động đăng nhập vào website facebook messager.

Và sau đó, là tiếp tục nhập đường dẫn tên bạn muốn gọi để phần mềm tự động gọi cho bạn.
Lưu ý, trên máy tính bàn để nó thực hiện được cuộc gọi các bạn cần phải gắn MicroPhone vào thì nó mới gọi được nhé các bạn.

Trong bài viết này mình chỉ chia sẽ cho các bạn đoạn kịch bản (script) để tự động thực hiện cuộc gọi thôi, chứ mình không nhắc về cách sử dụng Selemium C# như thế nào nữa.

Để tìm hiểu về Selemium, các bạn có thể tìm đọc ở các bài trước trên trang của mình nhé.

Source code Call Facebook Messager C#:

public void CallFacebook(string email, string password, string user_receive)
{
    try
    {               
        var driverService = ChromeDriverService.CreateDefaultService();
        driverService.HideCommandPromptWindow = true;
        ChromeOptions options = new ChromeOptions();
        options.AddArgument(Application.StartupPath + "chromedriver.exe");
        options.AddArguments("--incognito");
        options.AddArgument(@"--start-maximized");
        options.AddArgument(@"--disable-infobars");
        //options.AddArgument("user-data-dir=/some/path/allow-camera");
        options.AddArgument("--disable-user-media-security=true");
        options.AddArgument("--use-fake-ui-for-media-stream=1");

        //var caps = new DesiredCapabilities();
        options.AddArgument("headless");
        options.AddArgument("window-size=1200x600"); // optional

        var driver = new ChromeDriver(driverService, options);               


        driver.Navigate().GoToUrl("https://www.messenger.com/login.php");
        Thread.Sleep(1000);
        //driver.Manage().Window.Minimize();
        IWebElement query = driver.FindElement(By.CssSelector("#email"));
        query.SendKeys(email);               

        driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
        query = driver.FindElement(By.CssSelector("#pass"));
        query.SendKeys(password);
        driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
        Thread.Sleep(500);

        query = driver.FindElement(By.CssSelector("#loginbutton"));
        query.Click();
        Thread.Sleep(1000);
        driver.Navigate().GoToUrl(user_receive);
        Thread.Sleep(1000);
        query = driver.FindElement(By.XPath(".//*[@data-testid='startVoiceCall']"));
        query.Click();
        Thread.Sleep(5000);
        driver.Quit();


    }
    catch (Exception ex)
    {
       
    }
}

Video demo ứng dụng:


Trong video mình demo cho các bạn ở trên là các bạn thấy nó mở trình duyệt lên và tự động điền thông tin vào.

Các bạn chỉ cần thêm 2 option sau vào chrome driver thì selemium sẽ tự động chạy ngầm, và không hiển thị giao diện web lên.
options.AddArgument("headless");
options.AddArgument("window-size=1200x600"); // optional

Chúc các bạn thành công với thủ thuật này.
All Right Reserved © 2015 By Hung Pro VN
Hung.Pro.VN Sharing Your Own Knowledge and Creative Thinking Every Day and Many Other Things.