Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Forumdan daha fazla yararlanmak için, profilinizi telefon numaranız 📱 ile doğrulayın ve daha ayrıcalıklı olun 😉
    Daha fazla bilgi!

Nasıl yapılır ? Discord Sunucunuz İçin JSON Son konular Botu Yapın

lazenes

Sabit kullanıcı
SMS onaylı
Kullanıcı
Katılım
21 Eyl 2017
Mesajlar
72
Çözümler
1
Çok sevdiğim bir abim Gönüllü Oyun Türkçeleştirme yapıyor Discord Kanallarında da son yayınladıkları yamaların konu bağlantılarını yayınlamak istediklerini söyledi ben PHP kısmını yaptım burada da XenForo 2 Sürümü Forumu için Discord Sunucusu Olan Arkadaşlar işine yarayabileceğini düşündüğüm için paylaşıyorum bunun için ücret talep edenler arkadaşlar var ben size bu konuyu hediye ediyorum Forum ana dizinine php dosyası oluşturun bu dosya ile Discord sunucunuza bot ekleyin

Demo: http://sinnerclownceviri.com/dcbot.php
PHP:
<?php



/*



Script Adı:XenForo Discord Bot



Yazar: Enes BiBER



Web Site: www.enesbiber.com.tr



*/







$FORUM_id=Array(59);//Konuların Alınıacağı Forum idsi/leri







  function latestPosts($nodeIds=null, $limit=5) {



$dir = "./src/XF.php"; //Ana dizin deki Xenforo Kütüphanemizin Yolu



require($dir);



XF::start($dir);



        $visitor = \XF::visitor();



        $filter = 'latest';



        $router = \XF::app()->router('public');



        $threadRepo = \XF::app()->repository('XF:Thread');



        $postRepo = \XF::app()->repository('XF:Post');







        $parser = \XF::app()->bbCode()->parser();



        $rules = \XF::app()->bbCode()->rules('post:rss');







        $formatter = \XF::app()->stringFormatter();



        $bbCodeCleaner = \XF::app()->bbCode()->renderer('bbCodeClean');



        $bbCodeRenderer = \XF::app()->bbCode()->renderer('html');







        $threadFinder = $threadRepo->findThreadsWithLatestPosts();







        $threadFinder



            ->with('Forum.Node.Permissions|' . $visitor->permission_combination_id)



            ->limit(max($limit * 2, 10));



      



        if ($nodeIds && !in_array(0, $nodeIds))



        {



            $threadFinder->where('node_id', $nodeIds);



        }







        //$threadFinder->forFullView(true);







        $threadFinder



            ->with('LastPoster')



            ->withReadData();







        $latestposts = array();



        $maxLength = 120;



      



        foreach ($threads = $threadFinder->fetch() AS $threadId => $thread)



        {



              



            $post = $postRepo->finder('XF:Post')



                ->where('Thread.thread_id', $threadId)



                ->where('message_state', 'visible')



                ->order('post_id', 'DESC')



                //->indexHint('FORCE', 'post_date')



                ->fetchOne();



            $message = $bbCodeCleaner->render($formatter->wholeWordTrim($post->message, $maxLength),$parser, $rules);



            $message = preg_replace('/\[(attach|media|img|spoiler)\]/siU', '', $message);



            $message = preg_replace('/^[\t\s]*(\r?\n){2,}/m', '', $message);



           $konu= $router->buildLink('canonical:threads', $threadId);



            $latestposts[$threadId] = array(



                'gonderi_id' => $post['post_id'],



                'konu_sahibi'=>$thread['username'],



                'konu_id' => $thread['thread_id'],



                'baslik' => $thread['title'],



                'KonuLink' => $konu.$threadId,



                'kategori_id' => $thread['node_id'],



                'son_yorum' => substr(strip_tags(preg_replace('/\[.*\]/', '', $message)),0,90),



                'yorum_sahibi' => $post['username'],



                'ForumBaslik' => $thread['node_title'],



                'ForumUrl' => $router->buildLink('canonical:forums',array('node_id' => $thread['node_id'], 'title' => $thread['node_title'])),



                'SonyorumUrl' => $router->buildLink('canonical:posts', $post),



                'toplamYorum' => $thread['reply_count'],



                'GonderiTarihi' => $post['post_date']



            );



        }



        //$latestthreads = $latestthreads->slice(0, $limit, true);







return $latestposts;



  



    //  return $thread;



  }







//var_dump(latestPosts($FORUM_id,1));



$sonkonular=latestPosts($FORUM_id,100);



header('Content-Type: application/json');







echo $veri=json_encode($sonkonular,JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);







?>
 

Nasıl yapılır ? Discord Sunucunuz İçin JSON Son konular Botu Yapın

Nasıl kuracaklarını da anlatırsanız çok güzel olur. Elinize sağlık.
xenforo kurulu dizine bir dosya oluşturun örneğin dcbot.php bu kodu o dosyanın içine ekleyin ve Hangi forumdan veri çekilecekse forum id sini bulun Örneğin Genel Kategorisinin id si 1 bunu $FORUM_id=Array(1); olarak değişin en üstteki satırda forum id sini nasıl bulacaz diyorsaniz örneğin https://xenforo.gen.tr/forumlar/xenforo-vds-reseller-hosting.2/ renki olan rakam forum id sidir ha ben çoklu kullanacam diyorsanız $FORUM_id=Array(1,2,3.....); gibi ekleme yapabilirsiniz FORUM_id değişkenine Discord botu ben yapmadım okismida bilmiyorum ben php den jsona dökmeyi yaptım youtubede json discord botla alakalı videolu...
Nasıl kuracaklarını da anlatırsanız çok güzel olur. Elinize sağlık.
xenforo kurulu dizine bir dosya oluşturun örneğin dcbot.php bu kodu o dosyanın içine ekleyin ve Hangi forumdan veri çekilecekse forum id sini bulun Örneğin Genel Kategorisinin id si 1 bunu $FORUM_id=Array(1); olarak değişin en üstteki satırda forum id sini nasıl bulacaz diyorsaniz örneğin https://xenforo.gen.tr/forumlar/xenforo-vds-reseller-hosting.2/ renki olan rakam forum id sidir ha ben çoklu kullanacam diyorsanız $FORUM_id=Array(1,2,3.....); gibi ekleme yapabilirsiniz FORUM_id değişkenine Discord botu ben yapmadım okismida bilmiyorum ben php den jsona dökmeyi yaptım youtubede json discord botla alakalı videolu anlatımlar var
 
Çözüm

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.