Forum Discussion

PerBonomi's avatar
6 years ago

Note/PM ID - Delete scam PMs

Hey everyone, I'm thinking about making a tool to remove scam PMs sent by bad users from the inboxes of their recipients.

I had a look and it seems that the unique id of a note is identical both in sent of the sender and the inbox of the receiver, so it would seem I should be able to match up sent items and received items.

Has anyone looked at this or does anyone want to have a look at their community, if this assumption is correct?

Basically the script would do something like this:

<#assign test = true/>
<#assign delete = false/>
<#assign scammer_user_id = 146/>
<#assign limit = 10/>
<#assign query_notes_sent = restadmin("2.0","/search?q=" + "SELECT id,recipients FROM outbox_notes WHERE user.id = '${scammer_user_id}' LIMIT ${limit}"?url)/>
<#list query_notes_sent.data.items as note>
	<#assign note_id = note.id/>
	<#assign recipient = note.recipients.items[0].user/>
	<#assign recipient_id = recipient.id/>
	<#assign recipient_login = recipient.login/>
	<#if test == true>
		<#assign note_subject = restadmin("/users/id/${recipient_id}/mailbox/notes/id/${note_id}/subject").value/>
		<#assign note_body = restadmin("/users/id/${recipient_id}/mailbox/notes/id/${note_id}/body").value/>
		Note ID: ${note_id}, Recipient ID:  ${recipient_id}, Recipient Login:  ${recipient_login}<br/>
		<textarea>${note_subject}
		${note_body}</textarea><br/>
	</#if>
	<#if delete == true>
		<#assign result = restadmin("/users/id/${recipient_id}/mailbox/notes/id/${note_id}/delete")/>
	</#if>
</#list>
No RepliesBe the first to reply