1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Любая версия Отправка сообщений с задержкой

Тема в разделе 'PW Разработки', создана пользователем LiptoN[Triton], 14 апр 2016.

  1. TopicStarter Overlay

    LiptoN[Triton] Пользователи

    Сообщения:
    441
    Лайки:
    209
    Пол:
    Мужской
    Репутация:
    2
    Страна:
    Russian Federation Russian Federation
    Написал давно.

    Смысл программы: отправка сообщений в любой чат с ожиданием в N секунд.

    Конфиг:
    [​IMG]

    Для тех кто не понял: отправлять можно, например, 1 сообщение в сис. чат, а другое в мир.

    В итоге получаем такое:
    [​IMG]

    Скачать + full source: https://www.dropbox.com/s/nva2h1mitcpowty/PWMessage.rar?dl=0

    писал давно для себя, может кому то надо :)
    Maferline, Caffeine, Caristo и 3 другим нравится это.
  2. JonMagon Программист Пользователи Open Source Contributor

    Сообщения:
    805
    Лайки:
    809
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Germany Germany
    Cron + php.
  3. Sem Команда форума Модератор Old school Пользователи

    Сообщения:
    579
    Лайки:
    176
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Russian Federation Russian Federation
    а есть список всех каналов и их нумерации?
  4. MrGuru Пользователи

    Сообщения:
    60
    Лайки:
    4
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Russian Federation Russian Federation
  5. Sem Команда форума Модератор Old school Пользователи

    Сообщения:
    579
    Лайки:
    176
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Russian Federation Russian Federation
    Если ТСу не впадлу, пусть скрин мелкий и добавит к первому посту
  6. 03121221 Пользователи

    Сообщения:
    69
    Лайки:
    5
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    masculina
    Страна:
    Brazil Brazil
    где я поставил этот ??? |-)
  7. win95cih Пользователи

    Сообщения:
    9
    Лайки:
    1
    Репутация:
    0
    У себя сделал так:
    announcer.php
    PHP:
    #!/usr/bin/php
    <?
    error_reporting(E_ERROR | E_WARNING | E_PARSE);
    include("packet_class.php");

    //Анонсы
    $announces  = array
    (
        'Анонс 1',
        'Анонс 2',
        'Анонс 3',
        'Анонс 4',
        'Анонс 5',
    );

    if(!$_SERVER['REMOTE_ADDR'])
    {
        $current=file_get_contents(dirname(__FILE__).'/data/counter.txt');
        $ChatBroadCast = new WritePacket();
        $ChatBroadCast -> WriteUByte(9); //Chanel
        $ChatBroadCast -> WriteUByte(0); //Emotion
        $ChatBroadCast -> WriteUInt32(0); //Roleid
        $ChatBroadCast -> WriteUString($announces[$current]); //Text
        $ChatBroadCast -> WriteOctets(""); //Data
        $ChatBroadCast -> Pack(0x78); //Opcode
        $ChatBroadCast -> Send("localhost", 29300);
       
        if($current < count($announces)-1)
            $current = $current+1;   
        else $current = 0;
       
        file_put_contents (dirname(__FILE__).'/data/counter.txt' , $current);
    }
    else
    {   
        function announce()
        {
            $success = false;
            $msgs = array();           
     
            if(isset($_POST['text']))
            {
                $err = false;
                $text = $_POST['text'];
           
                if (empty($text)) {
                    $msgs[] = "<li> Текст забыл!";
                    $err = true;
                }
                   
                if (trim($text) == "") {
                    $msgs[] = "<li> Возможно в строке пробелы одни.";
                    $err = true;
                }
       
               
                if (!$err) {
                    $ChatBroadCast = new WritePacket();
                    $ChatBroadCast -> WriteUByte(9); //Chanel
                    $ChatBroadCast -> WriteUByte(0); //Emotion
                    $ChatBroadCast -> WriteUInt32(0); //Roleid
                    $ChatBroadCast -> WriteUString($text); //Text
                    $ChatBroadCast -> WriteOctets(""); //Data
                    $ChatBroadCast -> Pack(0x78); //Opcode
                    $ChatBroadCast -> Send("localhost", 29300);
                    $msgs[] = '<META HTTP-EQUIV="Refresh" CONTENT=3; URL=".\"><li> Успешно.</i>';   
                    $success = true;
                }
            }

            $form='
            <br>Форма отправки анонса<br>
            <form name="register" action="pwannouncer.php" method=post>
            <div class="forma">
                <div class="okno">
                    <div><textarea rows="10" cols="45" name="text"></textarea></div>
                </div>
            </div>
            <div class="okno">
            <input type="submit" value="отправить">
            </div>
            <form>
            <br>
            <ul class="error">
            '. implode('<br/>', $msgs).'
            </ul>
            ';
         
            if (!$success)
                $out = $form;
            else
                $out = "<div class='aC'>". implode("<br/>", $msgs)."</div>";
        return $out;
        }
       
        echo announce();
    }
    ?>
    Вешаем на cron
    Код:
    0    */1    *    *    *    root    php -f [путь к скрипту]/announcer.php
    Получаем анонсы каждый час по очереди из списка. Если залепить на сайт и перейти по адресу http://[ваш_сайт]/announcer.php, то получите ещё и форму с отправкой анонса. Для работы нужен класс packet_class.php На гениальность не претендую, за говнокод можете пинать, мне насрать, как умею, так и пишу.
    JonMagon нравится это.
  8. TopicStarter Overlay

    LiptoN[Triton] Пользователи

    Сообщения:
    441
    Лайки:
    209
    Пол:
    Мужской
    Репутация:
    2
    Страна:
    Russian Federation Russian Federation
    [​IMG]
Черновик сохранён Черновик удалён
Similar Threads
  1. Fituchini
    Ответов:
    1
    Просмотров:
    1.427
  2. Lockid
    Ответов:
    5
    Просмотров:
    1.661
  3. Hopewake.
    Ответов:
    10
    Просмотров:
    1.772
  4. JonMagon
    Ответов:
    25
    Просмотров:
    4.809
  5. Neron
    Ответов:
    4
    Просмотров:
    1.070
Загрузка...

Поделиться этой страницей