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.

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

lazenes

lazenes

Sabit kullanıcı
SMS onaylı
Kullanıcı
Ç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:
Ziyaretçiler için gizlenmiş link, görmek için Giriş yap veya üye ol.

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 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

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

Zevkini yansıtan rengi seç

Geniş / Dar görünüm

Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

Izgara görünümlü forum listesi

Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

Resimli ızgara modu

Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

Kenar çubuğunu kapat

Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

Sabit kenar çubuğu

Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

Köşe kıvrımlarını kapat

Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

Geri