40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
| 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())
 |