User:TaxonBot/bss.tcl
{}} $sectioncontent]]\n\n>>> Antrag reserviert!"
input impnews "\nb: ImportBot\ni: Importartikel\nn: Nachricht\nl: Antrag löschen\nx: Menü\n\nAuswahl: "
if {$impnews eq "b"} {
goto ib
} elseif {$impnews == "i"} {
goto ii
} elseif {$impnews eq "n"} {
goto in
} elseif {$impnews eq "l"} {
goto il
}
}
goto k
}
ib { source importbot.tcl
input news "\nBenachrichtigung? (j\/n): "
if {$news eq "j"} {
goto in
} else {
goto k
}
}
iv { incr v
source import.tcl
set v 0
}
ii { rex iuser -- 1 i $sectioncontent {(?:Signatur.+?[=|\[\[])(Benutzer(in)?\:.+?)(?:\||\/)}
set tlemma [lindex $sectiondata end]
puts "\n$tlemma\n$iuser"
input bnr "\nBNR: "
input alttlemma "alternatives Ziel-Lemma: "
if {![empty alttlemma] || $bnr eq "b" || $bnr eq "j"} {
if ![empty alttlemma] {
set tlemma $alttlemma
} else {
set tlemma "$iuser\/$tlemma"
}
puts "\n$tlemma"
}
set oldcontent [content [post $wiki {*}$get / titles $tlemma]]
set newcontent "\{\{Importartikel\}\}\n\n$oldcontent"
regsub -all -- {\[\[Cat[eé]gorie:|\[\[[CK]ateg[oó]r[ií][j]?a:|\[\[Category:|\[\[Κατηγορία:|\[\[Kategori[e]?:|\[\[Категор[іи]я:|\[\[カテゴリ:|\[\[Luokka:} \
$newcontent "\[\[\:Kategorie\:" newcontent
set summary {Importartikel}
puts "\n$newcontent\n\n$summary"
gets stdin
puts "[edit $tlemma $summary {} / text $newcontent]\n\n>>> Importartikel!"
input news "\nBenachrichtigung? (j\/n): "
switch $news {j {goto in} n {goto il} default {goto k}}
}
in { if {$task eq "bot"} {
set summary "\/* $summarytitle *\/ + InuseBot: \[\[TaxonBot|TaxonBot\]\]"
set botworking "\{\{InuseBot\|TaxonBot\|Doc Taxon\}\}"
puts "\n[edit $page $summary {} / section $section / appendtext "\n$botworking"]\n\n>>> Bot läuft!"
} else {
regsub -- #.* $slemma {} slemma
regsub -- #.* $tlemma {} tlemma
- rex user -- 2 i $sectioncontent {(?:Signatur.+?[=|\[\[]Benutzer(in|[ _]Diskussion|in[ _]Diskussion)?\:)(.+?)(?:\||\/)}
input altuser "\nalternativer Benutzer: "
if ![empty altuser] {
set user $altuser
}
set bluser [dict filter [regexp -all -inline -line -- {^#.*?\:(.*?)\].*?$} [
content [post $wiki {*}$get / titles Wikipedia:Importwünsche/Robinson]
]] value $user]
if [empty bluser] {
set userdisk "Benutzer Diskussion:$user"
input altswiki "\nalternatives Quell-Wiki: "
input altslemma "alternatives Quell-Lemma: "
input alttlemma "alternatives Ziel-Lemma: "
input stock "\nBestand (j/n): "
if {$stock eq "n"} {
input nr "Namensraum: "
} else {
set nr a
}
input extra "\nZusatztext: "
if ![empty altswiki] {
set swiki $altswiki
}
if ![empty altslemma] {
set slemma $altslemma
}
if ![empty alttlemma] {
set tlemma $alttlemma
}
if {$nr eq "b" && [regexp -nocase -- {(Benutzer|User)} $tlemma] == 0} {
set tlemma "Benutzer:$user\/$tlemma"
}
if {$swiki ne "de"} {
set nswiki $swiki:
} else {
set nswiki {}
}
if {$stock eq "n"} {
set userdisktext "\n\n== Dein Importwunsch von \[\[:$nswiki$slemma\]\] nach \[\[:$tlemma\]\] ==\nHallo $user,\n\nDein Importwunsch ist erfüllt worden. Es wurde folgende Seite angelegt:\n* \[\[$tlemma\]\]"
} else {
set userdisktext "\n\n== Dein Importwunsch von \[\[:$nswiki$slemma\]\] nach \[\[:$tlemma\]\] ==\nHallo $user,\n\nDein Importwunsch ist erfüllt worden."
}
if {$extra eq "b"} {
set extra {Bitte bearbeite den Artikel zunächst in Deinem Benutzernamensraum und verschiebe ihn dann in den Artikelnamensraum.}
}
if ![empty extra] {
set userdisktext "$userdisktext\n\n$extra"
}
set userdisktext "$userdisktext\n\nViel Spaß beim Editieren weiterhin,\n${~}
\nps: Wenn Du künftig nicht mehr über erledigte Importe informiert werden möchtest, trage Dich bitte in die \[\[WP:Importwünsche\/Robinson\|Robinson-Liste\]\] ein.<\/small>"
set summary "/* Dein Importwunsch von $nswiki$slemma nach $tlemma */ bearbeitet"
puts "$userdisktext\n\nSummary: $summary"
input okay "\nBitte bestätigen: "
if {$okay eq "j"} {
puts "\n[edit $userdisk $summary {} / appendtext $userdisktext / redirect true] \
\n\n>>> Antragsteller wurde benachrichtigt!"
} else {
goto k
}
} else {
puts "\n$user möchte nicht benachrichtigt werden!"
}
}
if {$task eq "bot"} {
input del "\nAntrag erledigt (j/n): "
} else {
input del "\nAntrag löschen (j/n): "
}
if {$del eq "j" || $del eq "l"} {
goto il
} else {
goto k
}
}
il { set summary "\/* $summarytitle *\/ abgearbeitet"
puts "\nSummary: $summary"
gets stdin
if {$task eq "bot"} {
set botworking "\{\{InuseBot\|TaxonBot\|Doc Taxon\}\}"
regsub -- $botworking $sectioncontent {} sectioncontent
set erl "$sectioncontent\n\{\{erledigt\|1\=${~}\}\}"
puts "\n$erl\n\nSummary: $summary" ; gets stdin
puts "[edit $page $summary {} / section $section / text $erl]\n\n>>> BotJob erledigt!"
} else {
puts "[edit $page $summary {} / section $section / text {}]\n\n>>> Antrag gelöscht!"
}
if {$task eq "i" || $task eq "u" || $task eq "bot"} {
goto k
} else {
goto t
}
}
b { set page {Wikipedia:Bibliotheksrecherche/Anfragen}
input btask "\ni: Info\nw: in Arbeit\nv: versandt\nx: Menü\ne: erledigt\n\nAuswahl: "
if {$btask == "x"} {
goto k
}
if {$btask in {i v w}} {
set sectioncontent [content [post $wiki {*}$get / titles $page / rvsection $section]]
regexp -- {\[\[(User|Benutzer(?:in)?)?\:(.+?)(/|\||\]\])} $sectioncontent -- user
regexp -nocase -- {\[\[(User|Benutzer).*?\:(.+?[/\]\|]?)} $sectioncontent -- -- user
set user [lindex [split {*}[dict values [ regexp -nocase -inline -- {(?:User|Benutzer).*?\:(.*?)[/\|\]]} $sectioncontent ]] /|\]] 0] if {$btask eq {i}} { input text "Text: " } else { input extra "\nZusatztext: "
if {$extra ne {}} {
set extra " – $extra"
}
}
}
if {$btask eq {i}} {
source api2.tcl ; set lang de1 ; source langwiki.tcl set token [login $wiki]
set message "\n\n\{\{info\}\} \{\{ping\|1=$user\}\} $text ${~}"
set summary "\/* $summarytitle *\/ Info"
puts "\n$message\n\nSummary: $summary" ; gets stdin
puts "[edit $page $summary {} / section $section / appendtext $message]\n\n>>> Info hinzugefügt!"
source api.tcl ; set lang de ; source langwiki.tcl set token [login $wiki]
} elseif {$btask eq {w}} {
source api2.tcl ; set lang de1 ; source langwiki.tcl set token [login $wiki]
set message "\n\n\{\{ping\|1=$user\}\} \{\{s\|working\}\}$extra ${~}"
set summary "\/* $summarytitle *\/ in Arbeit"
puts "\n$message\n\nSummary: $summary" ; gets stdin
puts "[edit $page $summary {} / section $section / appendtext $message]\n\n>>> Anfrage in Arbeit!"
source api.tcl ; set lang de ; source langwiki.tcl set token [login $wiki]
} elseif {$btask eq {v}} {
source api2.tcl ; set lang de1 ; source langwiki.tcl set token [login $wiki]
set message "\n\n\{\{ping\|1=$user\}\} \{\{s\|mail\}\}$extra ${~}"
set summary "\/* $summarytitle *\/ versandt"
puts "\n$message\n\nSummary: $summary" ; gets stdin
puts "[edit $page $summary {} / section $section / appendtext $message]\n\n>>> Artikel versandt!"
source api.tcl ; set lang de ; source langwiki.tcl set token [login $wiki]
} elseif {$btask eq {e}} {
set message "\n\n\{\{erledigt\|1=${~}\}\}"
set summary "\/* $summarytitle *\/ erledigt"
puts "\n$message\n\nSummary: $summary" ; gets stdin
puts "[edit $page $summary {} / section $section / appendtext $message]\n\n>>> Anfrage erledigt!"
}
goto k
}
lk { set lkcontent [content [post $wiki {*}$get / titles $page / rvsection $section]]
set lktitle [join [dict values [regexp -inline -line -- {^(?:==[ ]?)(.+?)(?:[ ]?==)$} $lkcontent]]]
if {$status == "b"} {
set lknewtitle "\=\= [regsub -- {==[ ]?(.+?)[ ]?==} $lktitle {\1}] \(bleibt\) \=\="
regsub -- {==[ ]?(.+?)[ ]?==} $lkcontent {== \1 (bleibt) ==} lknewcontent
} elseif {$status == "z"} {
set lknewtitle "\=\= [regsub -- {==[ ]?(.+?)[ ]?==} $lktitle {\1}] \(LAE\) \=\="
regsub -- {==[ ]?(.+?)[ ]?==} $lkcontent {== \1 (LAE) ==} lknewcontent
} elseif {$status == "l"} {
set lknewtitle "\=\= [regsub -- {==[ ]?(.+?)[ ]?==} $lktitle {\1}] \(gelöscht\) \=\="
regsub -- {==[ ]?(.+?)[ ]?==} $lkcontent {== \1 (gelöscht) ==} lknewcontent
}
regsub -all -- {\[\[.+?\||\[\[[:]?|\]\]||} $title($section) {} sectiontitle
regsub -all -- {\[\[.+?\||\[\[[:]?|\]\]||\ \(bleibt\)|\ \(LAE\)|\ \(gelöscht\)} $lktitle {} summ
input newsumm "\nalternativer Artikeltitel: "
puts "\n$lknewtitle"
input reason "\nGrund: "
if {$status == "b"} {
set reason "$lknewcontent\n\n\{\{Kasten\|1\=Artikel bleibt\! $reason ${~}\}\}"
set summary "\/* $summ \(bleibt\) *\/"
} elseif {$status == "z"} {
set reason "$lknewcontent\n\n\{\{Kasten\|1\=L\öschantrag zurückgewiesen\! $reason ${~}\}\}"
set summary "\/* $summ \(LAE\) *\/"
} elseif {$status == "l"} {
set reason "$lknewcontent\n\n\{\{Kasten\|1\=Artikel gelöscht\! $reason ${~}\}\}"
set summary "\/* $summ \(gelöscht\) *\/"
}
puts "\n$reason\n\n$summary"
input ok "\nGrund okay? (j\/n) "
if {$ok != "j"} {
goto l
}
puts "\n[edit $page $summary {} / section $section / text $reason]"
if {$newsumm != {}} {
set summ $newsumm
}
set disk "Diskussion\:$summ"
if {$status != "l"} {
set content [content [post $wiki {*}$get / titles $summ / rvsection 0]]
if {[regexp -- {\<\/noinclude\>\n\n} $content] == 1} {
regsub -- {^.+?\<\/noinclude\>\n\n} $content {} new
} elseif {[regexp -- {\<\/noinclude\>\n} $content] == 1} {
regsub -- {^.+?\<\/noinclude\>\n} $content {} new
} elseif {[regexp -- {\<\/noinclude\>} $content] == 1} {
regsub -- {^.+?\<\/noinclude\>} $content {} new
}
if {$status == "b"} {
set box "\{\{war L\öschkandidat\|$date 2014\}\}"
set summary "\[\[$page\#$summ \(bleibt\)\|Artikel war L\öschkandidat\]\]"
} elseif {$status == "z"} {
set box "\{\{LAE\|$date 2014\}\}"
set summary "\[\[$page\#$summ \(LAE\)\|L\öschantrag zur\ückgewiesen\]\]"
}
puts "\n$new\n\n$box\n\n$summary" ; gets stdin
puts "\n[edit $summ $summary {} / section 0 / text $new]\n\>\>\> LA ist raus\!\n"
puts "\n[edit $disk $summary {} / prependtext "$box\n\n"]\n\>\>\> Artikel \"$summ\" bleibt\!\n"
unset summ
unset disk
} else {
goto l
}
goto k
}
l { if ![exists summ] {
input title "\nLöschkandidat: "
set disk "Diskussion:$title"
} else {
set title $summ
}
input reason "\ngelöscht wegen: "
set reason "\[\[user:TaxonBot|TaxonBot\]\]: gelöscht wegen $reason"
input check "\nArtikel $title und Disk $disk wegen $reason wirklich löschen? (j\/n) "
if {$check == "j"} {
source api2.tcl ; set lang de1 ; source langwiki.tcl set token [login $wiki]
puts "\n[post $wiki {*}$format {*}$token / action delete / title $title / reason $reason]\n\>\>\> $title gelöscht"
puts "\n[post $wiki {*}$format {*}$token / action delete / title $disk / reason $reason]\n\>\>\> $disk gelöscht"
source api.tcl ; set lang de ; source langwiki.tcl set token [login $wiki]
}
goto k
}
a { set page {Wikipedia:Löschkandidaten/Urheberrechtsverletzungen}
set sectioncontent [content [post $wiki {*}$get / titles $page / rvsection 5]]
regexp -- {(?:==[ ]?)(.+?)(?:[ ]?==)} $sectioncontent -- date
set amonth [lindex $date 1]
set ayear $year
if {$month == "01" && $amonth == "Dezember"} {
set ayear [expr {$year - 1}]
}
input sure "\nTag $date wirklich nach $amonth $ayear archivieren? (j\/n): "
if {$sure == "j"} {
puts "\n[edit $page "\/* $date *\/ Bot: Archivierung" {} / section 5 / text {}]"
puts ">>> Tag $date auf WP\:LKU archiviert."
puts "\n[edit "$page\/Archiv\/$amonth $ayear" "\/* $date *\/ Bot: Archivierung" {} / appendtext "\n\n$sectioncontent"]"
puts ">>> Tag $date auf Archivseite $amonth $ayear eingefügt."
}
goto t
}
}
puts {}
</source>
-->