Add 'report' command to report issues in-game
git-svn-id: svn://svn.code.sf.net/p/crossfire/code/maps/trunk@21706 282e977c-c81d-0410-88c4-b93c2d0d6712master
parent
53f6c3dc64
commit
59f89d8acc
|
@ -0,0 +1,39 @@
|
|||
from email.mime.text import MIMEText
|
||||
import subprocess
|
||||
|
||||
import Crossfire
|
||||
|
||||
def report(pl):
|
||||
desc = Crossfire.ScriptParameters()
|
||||
if desc == None:
|
||||
pl.Message("To report an issue, type 'report <description of the issue>'.")
|
||||
return
|
||||
|
||||
details = {
|
||||
'PLAYER': Crossfire.WhoAmI().Name,
|
||||
'MAP': Crossfire.WhoAmI().Map.Path,
|
||||
'X': Crossfire.WhoAmI().X,
|
||||
'Y': Crossfire.WhoAmI().Y,
|
||||
'DESC': desc,
|
||||
}
|
||||
|
||||
report = """
|
||||
Reporter: {PLAYER}
|
||||
Map: {MAP} ({X}, {Y})
|
||||
Report: {DESC}
|
||||
""".format(**details)
|
||||
|
||||
Crossfire.Log(Crossfire.LogInfo, "A problem was reported: %s" % (report))
|
||||
|
||||
msg = MIMEText(report)
|
||||
recipient = "crossfire"
|
||||
msg["From"] = "crossfire"
|
||||
msg["Subject"] = "Crossfire issue report"
|
||||
|
||||
result = subprocess.run(['sendmail', recipient], input=msg.as_bytes())
|
||||
if result.returncode == 0:
|
||||
pl.Message("Thank you for your report.")
|
||||
else:
|
||||
pl.Message("There was an error reporting your problem. Please contact a Dungeon Master to report your problem.")
|
||||
|
||||
report(Crossfire.WhoAmI())
|
|
@ -4,4 +4,5 @@ Crossfire.RegisterCommand("autojail", "/python/commands/autojail", 0)
|
|||
Crossfire.RegisterCommand("dip", "/python/commands/dip", 0)
|
||||
Crossfire.RegisterCommand("disinfect", "/python/commands/disinfect", 0)
|
||||
Crossfire.RegisterCommand("give", "/python/commands/give", 0)
|
||||
Crossfire.RegisterCommand("report", "/python/commands/report", 0)
|
||||
Crossfire.RegisterCommand("reputation", "/python/commands/reputation", 0)
|
||||
|
|
Loading…
Reference in New Issue