Utente:TekBot/benvenuto.py
Vai alla navigazione
Vai alla ricerca
Funzioni[modifica | modifica wikitesto]
"Benvenuta" i nuovi utenti non ancora benvenutati compresi nella lista degli ultimi 250 iscritti.
(Grazie ad .anaconda)
Modalità automatica[modifica | modifica wikitesto]
Lo script si attiva automaticamente ad un intervallo di tempo prestabilito.
Impostazioni[modifica | modifica wikitesto]
- Non aggiungere questo script in replace.py ma in un nuovo file, creato ad es. con il blocco note, e salvalo nella cartella pywikipedia come benvenuto.py
- Se non vuoi rogne dai nuovi utenti puoi eliminare questa parte Naturalmente benvenuto anche da parte mia e se avessi bisogno non esitare a contattarmi.--~~~~ (lasciando l'ultimo apice al suo posto): il niubbo non riuscirà a risalire subito a te, ma un giorno capirà, si vendicherà e farà bene. Se invece vuoi utilizzare la "mia" (veramente è di Alfiobot...) versione hai 2 possibilità: firmare col nome del tuo bot oppure, se sei particolarmente masochista, con il tuo nome utente. Per la prima opzione non c'è bisogno di fare nulla. Per la seconda:
- non modificare il messaggio evidenziato in rosso;
- loggati in it.wiki con il nome utente del bot;
- clicca su "preferenze" (in alto a destra);
- nel campo "Soprannome (nickname)" inserisci: [[Utente:TUONOME|TUONOME]] [[Discussioni utente:TUONOME|scrivimi!]] (produrrà: TUONOME scrivimi!).
###################################################### # # benvenuto.py # # Bot per dare il benvenuto agli utenti (sono diventati troppi per farlo a mano...) # # Scarica il log dei nuovi utenti (fino ad un limite predefinito) e, per ogni utente # che ancora non ha pagina di discussione, crea il seguente testo: # # {{benvenuto|nome=<nomeutente>}} # # Basato sulle librerie pywikipediabot. import urllib, re import wikipedia # No. of users to check limit = 250 # URL of the newuser log url = "http://it.wikipedia.org/w/index.php?title=Speciale:Log&type=newusers&user=&page=&limit=%d" % limit # Search regular expression to find links like this (and the class attribute is optional too) #<a href="/w/index.php?title=Discussioni_utente:Urizon9&action=edit" class="new" title="Discussioni utente:Urizon9">Discussione</a> regexp = '<a href="([^"]*?)"[^<]*?title="Discussioni utente:(.*?)">Discussione</a>' # Modify user-agent string class AppURLopener(urllib.FancyURLopener): version = "Alfiobot/1.0" urllib._urlopener = AppURLopener() # Modify summary text wikipedia.setAction("Bot: benvenuto") # Read newuser log print "Getting newuser log (last %d new users)..." % limit f = urllib.urlopen(url) text = f.read() f.close() r = re.compile(regexp, re.UNICODE) # Loop over the newuser log and put welcome messages on empty discussion pages pos = 0 while 1: m = r.search(text, pos) if m == None: break pos = m.end() username = m.group(2) link = m.group(1) if link.find('/w/index.php?') == 0: print "User %s needs welcome" % username page = u'Discussioni utente:%s' % username p = wikipedia.Page(wikipedia.getSite(), page) # Additional check: make a get to prevent the rare case where a discussion page # is created between the newuser log download and now. try: p.get() except wikipedia.NoPage: newtext = u'{{benvenuto|nome=%s}}Naturalmente benvenuto anche da parte mia e se avessi bisogno non esitare a contattarmi. --~~~~' % username p.put(newtext) else: print "User %s is OK" % username