Gamepedia Yardım Viki
Advertisement

Pywikibot, veya PWB, kullanıcıların kullanabileceği genel botlardan biridir. Bu makale, Windows tabanlı işletim sistemleri için Gamepedia vikiler üzerinde Pywikibot'un nasıl kurulacağı ve çalıştırılacağı konusunda kapsamlı bir kılavuz olarak hizmet edecektir.

İlk kurulum[]

  1. Bilgisayarınıza Python dosyasını indirin. Muhtemelen en son sürümü almalısınız, ancak herhangi bir 3.x sürümü çalışacaktır. İndirme bağlantılarından, "yükleyici" olarak etiketlenen birini kullanmak işleri kolaylaştırır. İndirildikten sonra, bu dosyayı çalıştırarak Python'u yükleyin.
  2. Taleplerini indirin. Bu, PWB'nin çalışması için ihtiyaç duyduğu bir Python modülüdür. Zip dosyasını bir yere çıkarın - ona nasıl geri döneceğinizi bildiğiniz sürece nerede olduğu önemli değildir. Klasörü, yazması kolay bir adla yeniden adlandırmanız gerekir. Bir sonraki adım, kurulumu yüklemeyi kapsayacaktır.
  3. Komut İstemi'ni açın (Windows+r, ardından çalıştırma menüsüne cmd yazın veya başlat menünüzden "komut istemi"'ni arayın).
    1. Buradan, önceki adımda dosyayı, özellikle setup.py dosyasını içeren klasöre çıkardığınız yere gitmek için cd komutunu kullanın. Benim için, ayıklanan klasörü sadece "istekleri" olarak yeniden adlandırdım ve İndirilenler klasöründe bıraktım, bu yüzden şunu yazardım: cd İndirenler\istekler.
    2. Şimdi py setup.py install yazarak kurulum dosyasını çalıştırın. "Hata: yükleme dizininde dosya oluşturulamıyor veya kaldırılamıyor" iletisini alırsanız, komut istemini yönetici modunda çalıştırmanız gerekir. Başlat menünüzde komut istemini bulun, ardından sağ tıklayın ve "yönetici olarak çalıştır"'ı seçin. Buradan 3.1 ve 3.2 adımlarını tekrarlayın.
  4. Pywikibot'u indirin ve içeriği bir yere çıkarın (C:\Program Dosyaları\PWB içine benimkini koydum, ancak her yerde cd kullanabildiğiniz sürece sorun yok'e gidin, adım 3.1'deki gibi). Bu klasöre ana pywikibot klasörünüz adı verilir.

Bot parolası oluşturma ve kullanma[]

Şekil 1: Bot adı (yeşil), hesap adı (mavi) ve bot parolası (kırmızı)

  1. Bir bot hesabı oluşturun. Bunu yapmak için yeni bir Gamepedia/Twitch hesabı oluşturun. Bot hesap adları, hesabın bir bot olduğunu ve Widowbot, Cadsbot veya MrBot5 gibi kime ait olduğunu makul bir şekilde açıkça belirtmelidir. Ardından, hesap bot haklarını verme konusunda botu kullanmayı planladığınız viki yönetin.
  2. Bot hesabında oturum açtığınız herhangi bir vikide Özel:BotPasswords seçeneğine gidin. Kutuya bu bot için bir ad yazın ve Oluştur'a basın (basitlik için botun adını kullanabilirsiniz). Burada izinlerin bir listesini göreceksiniz. Çoğu botta yalnızca "Yüksek hacimli düzenleme", "Mevcut sayfaları düzenle" ve "Sayfa oluşturma, düzenleme ve taşıma" gerekir. İhtiyacınız varsa bunları ve diğerlerini kontrol edin ve sayfanın altındaki Oluştur düğmesine basın. Sağdakine benzer bir ekran almalısınız. Buradaki şifre yalnızca harici programlar aracılığıyla botunuza giriş yapmak için kullanılır - tarayıcıdan giriş yaparken normal şifresini kullanın.

Bot parolanızı PWB'ye ekleme[]

PWB dosyalarınıza gidin ve user-password.py adlı bir dosya oluşturun. Herhangi bir metin düzenleme programıyla açın ve aşağıdaki gibi doldurun:

("hesap adı", BotPassword("bot adı", "bot parola"))

Örneğin, Şekil 1'i kullanarak:

("MrBot5", BotPassword("testbot", "qscnb8pdpoisgibe8trfa59mv8ug1tat"))
Eğer rahat değilseniz bu parolayı kaydetmeniz gerekmez, ancak bot'a her komut verdiğinizde şifreyi yazmanız gerekecektir. Başka bir satır (virgül veya başka ayırıcı yok) ekleyerek bu listeye daha fazla kullanıcı ve şifre ekleyebilirsiniz. Bu dosyadaki her şeyin adlar da dahil olmak üzere büyük/küçük harfe duyarlı olduğunu varsayın.

Bir aile dosyası oluşturma[]

Aile dosyaları üzerinde çalıştığınız vikiyi tanımlar. PWB'yi kullanmak istediğiniz her wiki için kendi aile dosyası gerekir. Ana Pywikibot dizininizde "pywikibot" adlı bir klasöre ve ardından "aileler" adlı bir klasöre gidin. Üzerinde çalışmak istediğiniz ilk viki için yeni bir python dosyası oluşturun. Dosyanın adı, _family.py ile bittiği sürece önemli değildir, ancak "ark_family.py" veya "minecraft_family.py" gibi hatırlamanız ve kullanmanız kolay olan bir dosya olmalıdır. "ark" ifadelerinden bahsetmek istediğiniz vikiyi değiştirerek aşağıdaki kodu kopyalayıp yapıştırın:

from __future__ import absolute_import, division, unicode_literals

from pywikibot import family
from pywikibot.tools import deprecated

class Family(family.Family):

    name = 'ark'
    langs = {
        'en': 'ark.gamepedia.com',
        #'es': 'ark-es.gamepedia.com',
        #'fr': 'ark-fr.gamepedia.com',
        #'ptbr': 'ark-ptbr.gamepedia.com',
    }

    def scriptpath(self, code):
        return ''

    @deprecated('APISite.version()')
    def version(self, code):
        return '1.31.2'

    def protocol(self, code):														 
        return 'HTTPS'

Alternatif dil wikileri burada yorumlanır, ancak wiki ailenizin birden fazla dili varsa bunları aile dosyasına nasıl ekleyeceğinizi gösterir. Diğer diller için ISO 639-1 kodlarının listesi bölümüne bakın.

Kullanıcı ayarlarınızı ayarlama[]

  1. Komut istemine dönün ve ana pywikibot klasörünüze gitmek için cd tuşunu kullanın ve py create_user_files.py yazın ve talimatları izleyin.
  2. Ana pywikibot klasörünüz artık user-config.py adlı bir dosya içermelidir. Herhangi bir metin düzenleyicisiyle açın. Üstte, bunun gibi bir bölüm bulmalısınız:
# Bu işlevlerden birini kullanarak üzerinde çalışılacak aileyi tanımlamak için
# default (aşağıdaki "aile" değişkeni), işlev çağrısını yapmalısınız
# "aile" değişkeninin tanımından önce.
family = 'ark'

# Üzerinde çalıştığımız sitenin dil kodu.
mylang = 'en'

# Sözlük kullanıcı adları, sitelerinizdeki her site için bir kullanıcı adı içermelidir.
# bot hesabınız var. Tüm diller için benzersiz bir kullanıcı adınız varsa,
# family, '*' kullanabilirsiniz
usernames['ark']['en'] = u'MrBot5'
Kurulumda parolanızı eklediyseniz, dilin altında bir parola dosyası hakkında da bir bölüm olacaktır. Kullanıcı adları bölümü, üzerinde çalışmak istediğiniz her viki ve dil için daha fazla satır eklemenize gerek kalmaması için * joker karakteriyle de değiştirilebilir:
# Bu işlevlerden birini kullanarak üzerinde çalışılacak aileyi tanımlamak için
# default (aşağıdaki "family" değişkeni), işlev çağrısını yapmalısınız
# "family" değişkeninin tanımından önce.
family = 'ark'

# Üzerinde çalıştığımız sitenin dil kodu.
mylang = 'tr'

# Sözlük kullanıcı adları, sitelerinizdeki her site için bir kullanıcı adı içermelidir.
# bot hesabınız var. Tüm diller için benzersiz bir kullanıcı adınız varsa,
# family, '*' kullanabilirsiniz
password_file = "user-password.py"

usernames['*']['*'] = u'MrBot5'
sysopnames['*']['*'] = u'Mr_Pie_5'
sysopnames, hizmetli haklarına sahip hesaplardaki bot işlemleri için kullanılır. Bunları ayarlamak, şu ana kadar kullandığımız işlemleri takip eder, ancak bot şifresi uygun haklara sahip bir hesap adı için oluşturulur. İstediğiniz kadar kullanıcı adınız olsa da, PWB, aile başına birden fazla sistem adına sahip olmanıza izin vermez.

Giriş yapma[]

Önceki adımlarda tüm dosyaları kaydettikten sonra, botunuzu ilk kez oturum açmaya hazır olmalısınız. Komut istemine ve cd'ye ana pywikibot klasörünüze dönün ve py pwb.py login yazın. Her şey doğru şekilde yapıldıysa, başarıyla giriş yapmalı ve komut dosyalarını çalıştırmaya başlamaya hazır olmalısınız.

Olası sorunlar ve çözümleri
  • "can't open file pwb.py. No such file or directory." - Komut isteminde cd-ed yanlış yere. Yolunuzu kontrol edin.
  • "Login failed (Aborted)" followed by a password prompt - user-password.py dosyanız yanlış veya yanlış biçimlendirilmiş. Örneklere bakın ve parolanızı kontrol edin. Parolanızı gösteren tarayıcı penceresini kapattıysanız, Özel:Botpasswords'a dönmeniz ve başka bir yerde kaydetmediyseniz sıfırlamanız gerekebilir.

Pywikibot kullanma[]

Komut istemini açın (yönetici modunda yapmanız gerekebilir) ve cd'yi ana pywikibot dizininize. Bir komut dosyasını py pwb.py scriptname ve ardından bu betikle ilgili py pwb.py scriptname-help yazarak görebileceğiniz bağımsız değişkenler yazarak çalıştırabilirsiniz.

Örnek bir betik komutu olan py pwb.py redirect double -always, her seferinde onay istemeden bir wiki üzerindeki tüm çift yönlendirmeleri çözer.

Mevcut tüm komut dosyalarını görüntülemek için ana pywikibot klasörünüzdeki "betikler" klasörünü bulun.

Pywikibot'u birden çok viki ve dilde kullanma[]

Kurulum sırasında, varsayılan olarak bir wiki ve dil kodu ayarladık. Komut dosyalarını her çalıştırdığınızda, aksi belirtilmedikçe Pywikibot bunları kullanmaya çalışır.

Yeni bir viki eklemek için yeni wiki için yeni bir aile dosyası oluşturun. Viki aynı ailede, ancak mevcut ailelerinizden birinden farklı bir dildeyse, onu bu aile dosyasına ekleyebilirsiniz.

Betiklerini kullanırken, varsayılanlardan farklıysa viki ailesini, dili ve kullanıcı adını komut satırı bağımsız değişkenleri olarak ekleyin. Örneğin, varsayılan vikimizin MrBot5 hesabını kullanarak İngilizce Ark olduğunu, py pwb.py redirect double komutunun tüm bunları otomatik olarak kullanacağını varsayalım. Ama aynı senaryoyu SenorBot5 hesabını kullanarak Astroneer'da İspanyolca çalıştırmak istediğimi söyleyin. Zaten bir astroneer aile dosyası kurduğumu, user-config.py dosyamı bu aile dosyasını ve hesap adını içerecek şekilde güncellediğimi ve SenorBot5'in parolasını user-passwords.py'ye eklediğimi varsayarsak, komutum py pwb.py redirect double -family:astroneer -lang:es -user:SenorBot5 yönlendirme çift olacaktır. Ama ben sadece Astroner (varsayılan), MrBot5 (ayrıca benim varsayılan) kullanarak yapmak istiyorsanız, o zaman sadece py pwb.py redirect double -family:astroneer yaparım.

Ek yardım[]

Bu kılavuz sırasında bir noktada takılı kaldıysanız, lütfen Tartışma sayfası için bir yorum bırakın.

SSS[]

PWB'yi sayfalar arasında 10 saniye boyunca duraklatmamayı nasıl sağlarım?

-pt:0 komutunu bağımsız değişken olarak ekleyin. Herhangi bir sırayla gidebilir. pt, "put_throttle" anlamına gelir.

Sayfaları silemiyorum. Neler oluyor?

Hesabınızın vikinizde yönetici/hizmetli olduğunu varsayarsak, muhtemelen user_config dosyasında bir sysopname ayarlamanız gerekir. Unutmayın, bir viki için istediğiniz kadar kullanıcı adınız olabilir, ancak sadece bir sistem adı olabilir! (Değişken yine de sonunda "S" sistem adları olarak adlandırılır.

Bazı sayfaları taşıyordum ve konsol aniden bir hata mesajına dönüştü. Ne oldu?

Oran sınırına ulaştınız. Normal botların normal kullanıcılardan daha yüksek bir hız limiti vardır, ancak yine de bir tane vardır ve sayfaları taşımak için oldukça düşüktür. Bir yönetici hesabınız varsa, bunu bir hizmetli hesabı olarak ayarlayın ve oranı sınırsız sayfalar taşımak için kullanın.

Ayrıca bakınız[]

Advertisement