User:TaxonBot/bss.tcl

From Wikipedia
{}} $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
  1. 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> -->