1. GELİŞMİŞ KATILIM KOŞULLARI MOTORU (7 Bağımsız Modül)​

Eklenti, her biri Condition/ dizini içinde kendi özel PHP sınıf dosyasında yönetilen 7 katılım koşulu sınıfı içerir. Tamamen genişletilebilir bir mimari izler ve gelecekteki genişletmelerde çekirdek dosyalara dokunulmaz.

Çekiliş Başlangıcından İtibaren Mesaj Sayısı (MessageCountSinceStart)
Kullanıcının çekilişin başlangıç tarihinden SONRA attığı mesaj sayısını kontrol eder. Tarihi (eski) mesajlar tamamen hariç tutulur. Sadece aktif kampanya döneminde üretilen aktiviteler sayılır. Sistem, çekilişin start_date değeriyle milisaniye düzeyinde hassasiyetle karşılaştırma yapar. Bu, kampanya süresi boyunca forum aktivitesini yüksek tutmanın en etkili yoludur.

Çekiliş Başlangıcından İtibaren Konu Sayısı (ThreadCountSinceStart)
Kullanıcının çekiliş başladıktan sonra oluşturduğu yeni konu sayısını kontrol eder. Geçmiş konular tamamen hariç tutulur. Sadece çekiliş başlangıç tarihinden sonra oluşturulan konular geçerlidir. Bu, üyeleri eski konuları canlandırmak yerine yeni ve orijinal tartışmalar oluşturmaya teşvik eder.

Ömür Boyu Toplam Mesaj (TotalMessages)
Kullanıcının hesap geçmişindeki toplam mesaj sayısını kontrol eder. Bu, yeni ve sahte hesapların çekilişe girmesini engelleyen kritik filtredir. "En az 100 toplam mesaj" gibi bir minimum ayar, katılımı sadece yerleşik ve uzun süredir aktif forum üyeleriyle sınırlandırır.

Ömür Boyu Toplam Konu (TotalThreads)
Kullanıcının hesap tarihinde bugüne kadar oluşturduğu toplam konu sayısını kontrol eder. TotalMessages gibi, genel hesap aktivite seviyesini ölçer. TotalMessages ile birlikte kullanıldığında çift katmanlı hesap kalitesi kontrolü oluşturur.

Reaksiyon Skoru (ReactionScore)
Kullanıcının toplam biriktirdiği reaksiyon/beğeni skorunu kontrol eder. Bu, gerçekten değerli içerik üreten üyeleri tespit etmek için benzersiz bir araçtır. Sadece çok mesaj atanları değil, katkılarının topluluk tarafından beğenildiği ve takdir edildiği üyeleri ödüllendirir.

Hesap Yaşı (AccountAge)
Kullanıcının forum hesabını ne zamandır kullandığı kontrol eder. Gün, Ay veya Yıl cinsinden hassas şekilde yapılandırılabilir. Sistem, kayıt tarihini mevcut tarihle seçilen birimde karşılaştırarak tam ve doğru hesaplama yapar. Örneğin "En az 6 aydır üye olma" şartı, çekilişi sadık ve uzun süredir aktif üyelerle sınırlandırır.

Kullanıcı Grupları (UserGroups)
Çekilişi belirli kullanıcı gruplarıyla sınırlandırır. Birden fazla grup aynı anda seçilebilir. Seçilmeyen gruplar otomatik olarak hariç tutulur. Bu özelliği VIP-only, Premium-only veya abonelere özel çekilişler oluşturmak için kullanabilirsiniz.

2. KATEGORİ BAZLI FİLTRELEME (Uygulanabilir Kategoriler)​

Tüm aktivite tabanlı koşullar forum geneli yerine sadece sizin seçtiğiniz belirli forum bölümlerinde değerlendirilebilir. Yönetici panelinde "Uygulanabilir Kategoriler" alanından istediğiniz bölümleri seçin; sistem yalnızca o bölümlerdeki aktiviteleri sayar. Hiç seçim yapılmazsa sistem tüm forumu kapsar. Bu özellik, çekilişi forumunuzun belirli bir kısmına odaklanmış bir etkileşim kampanyasına dönüştürmenizi sağlar.

3. KATILIM ANAHTAR KELİME ZORUNLULUĞU​

Kullanıcıların cevabına belirli bir kelime veya cümle eklemesini zorunlu kılabilirsiniz. Sistem bu kontrolü hem büyük/küçük harf duyarsız (stripos) hem de multi-byte UTF-8 uyumlu (mb_stripos) string eşleştirme ile yapar. Böylece aksanlı, Arapça, Kiril ve Asya karakter setleri dahil tüm uluslararası karakterlerle sorunsuz çalışır. Anahtar kelime içermeyen mesajlar katılım girişimi olarak işlenmez ve herhangi bir kayıt oluşturma mantığını tetiklemez.

4. İKİ KATMANLI AKILLI SPAM MODERASYON SİSTEMİ​

Bu, [XTR] Forum Reward System'in en güçlü yeniliklerinden biridir. Çekiliş dönemlerinde üyeler katılım eşiklerini karşılamak için hedef kategorilere düşük kaliteli içerikle spam atabilir. Bu eklenti sorunu kökünden iki bağımsız moderasyon katmanıyla çözer:

Konu Moderasyonu (Moderate Applicable Nodes)
Etkinleştirildiğinde, çekiliş aktifken "Uygulanabilir Kategoriler" içinde oluşturulan her yeni konu otomatik olarak yayınlanmadan önce moderasyon kuyruğuna gönderilir. Teknik olarak sistem XenForo'nun entity_pre_save event'ine bağlanır ve kayıt veritabanına kaydedilmeden önce konunun discussion_state değerini 'moderated' olarak ayarlar. Moderator izinlerine (approveUnapprove) sahip kullanıcılar muaftır ve konuları anında yayınlanır.

Cevap / Mesaj Moderasyonu (Moderate Applicable Posts)
Etkinleştirildiğinde sadece yeni konular değil, o kategorilerdeki her yeni cevap da moderasyon kuyruğunda tutulur. Aynı event-driven mimariyi kullanır ve post'un message_state değerini kaydetmeden önce 'moderated' yapar. Moderatorler yine muaftır.
Her iki katman da bağımsız çalışır ve kampanya ihtiyaçlarınıza göre ayrı ayrı açılıp kapatılabilir. Kritik nokta: Moderasyon kuyruğunda tutulan ve moderator tarafından onaylanmayan içerik, kullanıcının katılım koşulu sayaçlarına dahil edilmez. Spam içerik kullanıcıların çekiliş şartlarını karşılamasına asla yardımcı olamaz.

5. KRİPTOGRAFİK OLARAK GÜVENLİ RASTGELE SEÇİM MOTORU​

Birçok çekiliş eklentisi PHP'nin standart array_rand() veya shuffle() fonksiyonlarını kullanır. Bunlar kriptografik olarak güvenli değildir ve teorik olarak öngörülebilir veya yanlı sonuçlar üretebilir.
[XTR] Forum Reward System kazanan seçimi titiz üç aşamalı bir süreçle gerçekleştirir:

Adım 1 — Canlı Yeniden Doğrulama
Çekiliş öncesi sistem her kayıtlı katılımcının uygunluğunu yeniden kontrol eder. Giriş sırasında uygun olan ancak sonradan şartların altına düşen kullanıcılar otomatik olarak havuzdan çıkarılır. Böylece finale sadece gerçekten hak eden üyeler kalır.

Adım 2 — Fisher-Yates Shuffle + random_int()
Uygun katılımcı listesi, PHP 7+ tarafından sunulan kriptografik olarak güvenli random_int() fonksiyonuyla güçlendirilmiş Fisher-Yates algoritması kullanılarak karıştırılır. Bu, istatistiksel olarak tarafsız ve sıfır öngörülebilirlikte karıştırma sağlar — PHP uygulamalarında adil rastgeleleştirmenin altın standardıdır.

Adım 3 — SHA-256 Çekiliş Hash Üretimi
Her çekiliş için benzersiz bir SHA-256 hash, şu verilerden üretilir: çekiliş ID’si, tam çekiliş zaman damgası, tüm uygun katılımcı ID listesi ve seçilen kazanan ID’leri. Bu hash kodu kazanan duyuru mesajına eklenir ve herhangi bir üyenin çekiliş sonucunun bütünlüğünü bağımsız olarak doğrulamasını sağlar.

6. TAM OTOMATİK CRON TABANLI ÇEKİLİŞ İŞLEME​

Çekilişi manuel olarak bitirmenize asla gerek kalmaz. Eklenti, XenForo’nun doğal cron altyapısıyla entegre edilmiş zamanlanmış bir görev içerir. Bu görev, bitiş tarihi geçmiş tüm aktif çekilişleri otomatik olarak algılar ve sırayla işler. Cron çalıştığında aşağıdaki işlemler gerçekleşir:
  • Tüm katılımcı koşulları gerçek zamanlı olarak yeniden doğrulanır
  • Kazananlar Fisher-Yates + random_int() ile seçilir
  • SHA-256 Draw Hash üretilir ve veritabanına kaydedilir
  • Çekiliş durumu "tamamlandı" olarak güncellenir
  • Çekiliş konusuna tüm kazananların @mention’ları ve doğrulama hash kodunu içeren otomatik bir cevap gönderilir
  • Tüm kazananlara XenForo doğal uyarıları gönderilir
  • "Konuyu Kilitle" etkinse konu otomatik olarak kapatılır
  • Uygun katılımcı yoksa otomatik olarak "uygun kazanan yok" bildirimi yayınlanır

7. KAPSAMLI YEREL UYARI SİSTEMİ​

Sistem XenForo’nun doğal uyarı altyapısıyla tam entegredir ve üç temel bildirim senaryosunu kapsar:

Başarılı Katılım Uyarısı
Kullanıcı çekilişe başarıyla katıldığında "Çekilişe başarıyla katıldınız" bildirimi alır.

Detaylı Başarısız Uyarı
Kullanıcı uygun değilse, hangi koşulu neden ve ne kadar eksik olduğuyla net bir açıklama alır. Örneğin:
"Katılmak için en az 5 mesaja ihtiyacınız var. Şu an 2 mesajınız var. Lütfen 3 mesaj daha atın."
Bu mesajlar her koşul tipi için dinamik olarak üretilir.

Kazanan Uyarısı
Kullanıcı kazandığında kişiselleştirilmiş "Tebrikler! Çekilişi kazandınız" bildirimi alır. Tüm uyarılar konu yaratıcısı adına gönderilir ve doğal, kişisel bir forum iletişim deneyimi sunar.

8. ETKİLEŞİMLİ KATILIM PANELİ VE GERÇEK ZAMANLI İLERLEME ÇUBUĞU​

Üyeler çekiliş konusunu görüntülerken konunun üst kısmında kapsamlı bir katılım bilgi paneli görür. Bu panel şunları gösterir:
  • Çekiliş başlığı ve açıklaması
  • Tüm aktif katılım koşulları (her biri kendi ikonuyla: mesaj ikonu, konu ikonu, reaksiyon ikonu, kullanıcı grubu ikonu, takvim ikonu)
  • Kalan gün, saat, dakika ve saniyeyi gösteren canlı geri sayım sayacı
  • Kullanıcının koşulları ne kadar karşıladığını gösteren dinamik İlerleme Çubuğu
  • Anahtar kelime gerekiyorsa hatırlatma
  • En son katılanların listesi
  • Kullanıcı başarıyla katıldıktan sonra giriş onay bloğu
  • Sonuçlar açıklandıktan sonra kazanan duyuru bloğu

9. KAZANAN GÖRSEL KUTLAMA (Konfeti Animasyonu)​

Kazanan bir kullanıcı çekiliş konusunu görüntülediğinde, yönetici panelinde "Konfeti Efekti" etkinse ekrandan her yöne renkli konfeti yağmuru animasyonu başlar. Bu küçük ama güçlü deneyim, kazanma anını gerçekten özel, unutulmaz ve paylaşılabilir kılar.

10. AKTİF ÇEKİLİŞLER WİDGET’I​

XenForo tarafından desteklenen herhangi bir widget konumuna yerleştirilebilen, tamamen yapılandırılabilir "Aktif Çekilişler" widget’ı şunları sunar:
  • Şu anda aktif olan tüm çekilişlerin canlı listesi
  • Her çekiliş için dinamik geri sayım sayacı (bitiş tarihine göre)
  • Her çekiliş için mevcut katılımcı sayısı
  • Her çekiliş konusuna direkt link
Widget ayarları yönetici panelinden yapılandırılabilir:
  • Gösterilecek maksimum çekiliş sayısı (Sonuç Limiti)
  • Geri sayım sayacı görünürlüğü (Açık/Kapalı)
  • Katılımcı sayısı görünürlüğü (Açık/Kapalı)

11. OTOMATİK ÇİFT YÖNLÜ SENKRONİZASYON (XenForo Çekirdek Servisleri)​

Yönetici panelindeki değişiklikler otomatik olarak genel forum konusuna yansır. Bu çift yönlü senkronizasyon XenForo’nun kendi Çekirdek servislerini kullanır:

Yeni çekiliş oluşturulurken
XF:Thread\Creator servisi forum konusunu ve ilk mesajı otomatik olarak oluşturur.

Çekiliş düzenlenirken
XF:Thread\Editor konu başlığını, XF:Post\Editor ise ilk mesaj içeriğini anında ve güvenli şekilde günceller.
Bu işlemler XenForo’nun doğal servisleri üzerinden yapıldığı için arama indeksleri bozulmaz, forum istatistikleri doğru çalışmaya devam eder ve düzenleme geçmişi düzgün kaydedilir.

12. KAZANANLARI YENİDEN ÇEKME ÖZELLİĞİ​

Seçilen bir kazanan kuralları ihlal etmişse veya ödülü kabul edemezse, yöneticiler Admin CP’den tek tıkla "Kazananları Yeniden Çek" fonksiyonunu kullanabilir. Bu, mevcut kazananları temizler, tam kriptografik seçim sürecini yeniden çalıştırır ve yeni bir Draw Hash üretir. Tam bir denetim izi tutulur.

13. TAMAMLANDIĞINDA OTOMATİK KONU KİLİTLEME​

"Çekiliş Tamamlandığında Konuyu Kilitle" seçeneği etkinse, çekiliş bittiği anda konunun discussion_open değeri false yapılır. Üyeler kilitli konuya yeni cevap yazamaz. Bu, çekiliş sonrası tartışma ve gürültüyü önler ve konuyu temiz, arşivlik bir kayıt haline getirir.

14. IP TABANLI ÇOKLU HESAP KORUMASI​

Her katılım girişimi kullanıcının IP adresini ikili formatta veritabanına kaydeder. Sistem aynı IP’den farklı bir kullanıcı hesabının daha önce çekilişe katılıp katılmadığını sorgular. Aynı IP’den ikinci bir katılım girişimi tespit edilirse "Birden fazla hesapla katılım yasaktır" hatası verilir. Localhost adresleri ve yönetici hesapları bu kontrolden muaftır.

15. DOĞRULANABİLİR SHA-256 DRAW HASH (Şeffaflık Kanıtı)​

Her çekiliş için üretilen SHA-256 Draw Hash, kazanan duyuru cevabında herkese açık olarak yayınlanır. Hash şu verilerden türetilir:
  • Çekiliş ID’si
  • Tam çekiliş zaman damgası (Unix)
  • Tüm uygun katılımcı ID’lerinin listesi
  • Seçilen kazanan ID’leri
Herhangi bir üye bu hash’i bağımsız olarak doğrulayarak çekilişin manipüle edilmediğini teyit edebilir. Bu mekanizma, XenForo çekiliş çözümlerinde daha önce görülmemiş bir şeffaflık seviyesi sağlar ve topluluğun yönetiminize olan güvenini ciddi oranda artırır.

1. ADVANCED PARTICIPATION CONDITIONS ENGINE (7 Independent Modules)​

The addon contains 7 participation condition classes, each managed in its own dedicated PHP class file within the Condition/ directory, following a fully extensible architecture that allows future expansion without touching core files.

Messages Since Giveaway Start (MessageCountSinceStart)
Checks how many messages the user has posted AFTER the giveaway's start date. Historical messages are entirely excluded. Only activity produced during the active campaign period counts. The system compares against the giveaway's start_date with millisecond-level precision. This is the most effective way to keep forum activity high throughout the campaign duration.

Threads Since Giveaway Start (ThreadCountSinceStart)
Checks how many new topics the user has created since the giveaway started. Past threads are completely excluded. Only threads created after the giveaway start date qualify. This drives members to contribute new, original discussions rather than reviving old ones just to inflate their numbers.

Lifetime Total Messages (TotalMessages)
Checks the total number of messages posted across the user's entire account history. This is the critical filter for preventing new and fake accounts from entering your giveaway. Setting a minimum like "100 total messages" restricts participation to established, long-standing forum members only.

Lifetime Total Threads (TotalThreads)
Checks the total number of topics the user has ever created across their account history. Similar to Total Messages, it measures overall account activity level. Combined with TotalMessages, it creates a double-layer account quality gate.

Reaction Score (ReactionScore)
Checks the user's total accumulated reaction/like score. This is a unique tool for identifying members who have contributed genuinely valuable content. It rewards not just prolific contributors, but those whose contributions have been recognized and appreciated by the community itself.

Account Age (AccountAge)
Checks how long the user has held their forum account. Configurable precisely in Days, Months, or Years. The system compares the registration date against the current date using the selected unit for an exact and accurate calculation. For example "Must be a member for at least 6 months" restricts the giveaway to loyal, long-standing members.

User Groups (UserGroups)
Restricts the giveaway to specific user groups. Multiple groups can be selected simultaneously. Non-selected groups are automatically excluded. Use this to create VIP-exclusive, Premium-only, or subscriber-specific giveaways.

2. CATEGORY-BASED FILTERING (Applicable Categories)​

All activity-based conditions can be evaluated not forum-wide but only within the specific forum sections you select. In the admin panel, choose your desired sections in the "Applicable Categories" field and the system will count only activities in those sections. If no selection is made, the system covers the entire forum. This feature lets you transform a giveaway into a focused engagement campaign for a specific part of your forum community.

3. PARTICIPATION KEYWORD REQUIREMENT​

You can require users to include a specific word or phrase in their reply to participate. The system performs this check using both case-insensitive (stripos) and multi-byte UTF-8 compatible (mb_stripos) string matching, ensuring flawless operation with all international character sets including accented, Arabic, Cyrillic, and Asian scripts. Messages not containing the keyword are not processed as participation attempts and do not trigger any entry creation logic.

4. TWO-LAYER INTELLIGENT SPAM MODERATION SYSTEM​

This is one of [XTR] Forum Reward System's most powerful innovations. During giveaway periods, members may flood targeted categories with low-quality content solely to meet participation thresholds. This addon eliminates that problem at the root with two independently controllable moderation layers:

Thread Moderation (Moderate Applicable Nodes)
When enabled, any new thread created in the "Applicable Categories" while the giveaway is active is automatically sent to the moderation queue BEFORE it is published. Technically, the system hooks into XenForo's entity_pre_save event and sets the thread's discussion_state to 'moderated' before the record is committed to the database. Users with moderator-level permissions (approveUnapprove) are exempt and their threads publish immediately.

Reply / Post Moderation (Moderate Applicable Posts)
When enabled, not just new threads but every new reply posted in those categories is also automatically held in the moderation queue. It uses the same event-driven architecture, setting the post's message_state to 'moderated' before saving. Moderators are again exempt.

Both layers operate independently and can each be enabled or disabled separately based on your specific campaign needs. The critical point: content held in the moderation queue and not approved by a moderator does NOT contribute to the user's participation condition counters. Spam content literally cannot help users meet giveaway requirements.

5. CRYPTOGRAPHICALLY SECURE RANDOM SELECTION ENGINE​

Many giveaway addons rely on PHP's standard array_rand() or shuffle() functions. These are NOT cryptographically secure and can theoretically produce predictable or biased results.

[XTR] Forum Reward System performs winner selection through a rigorous three-step process:

Step 1 — Live Re-Verification
Immediately before the draw, the system re-checks the eligibility of EVERY registered participant. Users who qualified at entry time but have since fallen below the required thresholds are automatically removed from the draw pool. This ensures only truly deserving members participate in the final draw.

Step 2 — Fisher-Yates Shuffle + random_int()
The eligible participant list is shuffled using the Fisher-Yates algorithm powered by PHP 7+'s cryptographically secure random_int() function. This produces a statistically unbiased shuffle with zero predictability — the gold standard for fair randomization in PHP applications.

Step 3 — SHA-256 Draw Hash Generation
For each draw, a unique SHA-256 hash is generated from: the giveaway ID, exact draw timestamp, the complete eligible participant ID list, and the selected winner IDs. This hash code is appended to the winner announcement message and allows any member to independently verify the integrity of the draw result.

6. FULLY AUTOMATED CRON-BASED GIVEAWAY PROCESSING​

You never need to manually finalize a giveaway. The addon includes a scheduled task integrated with XenForo's native cron infrastructure. This task automatically detects all active giveaways whose end date has passed, then processes them in sequence. When the cron runs, the following happens:
  • All participant conditions are re-verified in real time
  • Winners are selected using Fisher-Yates + random_int()
  • SHA-256 Draw Hash is generated and stored in the database
  • Giveaway status is updated to "completed"
  • An automated reply is posted to the giveaway thread containing @mentions of all winners and the draw verification hash code
  • XenForo native alerts are sent to all winners
  • If "Lock Thread" is enabled, the thread is automatically closed
  • If no eligible participants exist, a "no eligible winners" notice is posted automatically

7. COMPREHENSIVE NATIVE ALERT SYSTEM​

The system is fully integrated with XenForo's native alert infrastructure and covers three key notification scenarios:

Successful Entry Alert
When a user successfully enters the giveaway, they receive a "You have successfully joined the giveaway" notification.

Detailed Failure Alert
When a user is ineligible, they receive a precise explanation of which condition they failed and by how much. For example:
"You need at least 5 messages to participate. You have 2 messages. Please post 3 more messages."

These messages are dynamically generated for each individual condition type.

Winner Alert
When a user wins, they receive a personalized "Congratulations! You won the giveaway" notification. All alerts are sent in the name of the thread creator, providing a natural, personal forum communication experience.

8. INTERACTIVE PARTICIPATION PANEL WITH REAL-TIME PROGRESS BAR​

Members viewing the giveaway thread see a comprehensive participation information panel at the top of the thread. This panel displays:
  • Giveaway title and description
  • All active participation conditions, each with its own icon
    (message icon, thread icon, reaction icon, user group icon, calendar icon)
  • Live countdown timer showing days, hours, minutes, and seconds remaining
  • Dynamic Progress Bar showing how close the user is to meeting conditions
  • Participation keyword reminder if a keyword is required
  • List of the most recent participants
  • Entry confirmation block once the user has successfully joined
  • Winner announcement block once results are published

9. WINNER VISUAL CELEBRATION (Confetti Animation)​

When a winning user views the giveaway thread, if the "Enable Confetti Effect" option is active in the admin panel, a vibrant confetti rain animation pours from all corners of the screen. This small but powerful experience makes the moment of winning feel genuinely special, memorable, and shareable.

10. ACTIVE GIVEAWAYS WIDGET​

A fully configurable "Active Giveaways" widget can be placed in any widget position supported by XenForo. The widget provides:
  • A live list of all currently active giveaways
  • Dynamic countdown timer for each giveaway (based on end date)
  • Current participant count for each giveaway
  • Direct link to each giveaway thread
Widget settings configurable from the admin panel:
  • Maximum number of giveaways to display (Result Limit)
  • Countdown timer visibility (On/Off)
  • Participant count visibility (On/Off)

11. AUTOMATIC BIDIRECTIONAL SYNC (XenForo Core Services)​

Admin panel changes are automatically reflected in the public forum thread. This bidirectional sync uses XenForo's own Core services:

On new giveaway creation
XF:Thread\Creator service generates the forum thread and first post automatically.

On giveaway edit
XF:Thread\Editor updates the thread title, and XF:Post\Editor updates the first post content — both instantly and safely.

Because these operations go through XenForo's native services, search indexes remain intact, forum statistics continue to operate correctly, and edit history is properly recorded.

12. REROLL WINNERS FEATURE​

If a selected winner is found to have violated the rules or cannot accept the prize, administrators can use the "Reroll Winners" function in the Admin CP with a single click. This clears the current winners, re-runs the full cryptographic selection process, and generates a new Draw Hash. A complete audit trail is maintained.

13. AUTOMATIC THREAD LOCKING ON COMPLETION​

When "Lock Thread Upon Giveaway Completion" is enabled, the thread's discussion_open value is set to false the moment the draw completes. Members can no longer post new replies to the closed thread. This prevents post-giveaway disputes and noise, keeping the thread as a clean, archived record.

14. IP-BASED MULTI-ACCOUNT PROTECTION​

Every participation attempt records the user's IP address in binary format in the database. The system queries whether a different user account has already participated in the giveaway from the same IP address. If a second participation attempt is detected from the same IP, it is rejected with a "Multiple account participation is not allowed" error message. Localhost addresses and administrator accounts are exempt from this check.

15. VERIFIABLE SHA-256 DRAW HASH (Transparency Proof)​

The SHA-256 Draw Hash generated for each draw is published publicly in the winner announcement reply. The hash is derived from:
  • The giveaway ID
  • The exact draw timestamp (Unix)
  • The complete list of eligible participant IDs
  • The selected winner IDs
Any member can independently verify this hash to confirm the draw was not manipulated. This mechanism provides a level of transparency that is unprecedented in XenForo giveaway solutions and dramatically increases community trust in your administration.
Back
Top