Skip to content

Instantly share code, notes, and snippets.

@Isopach
Last active October 6, 2021 05:26
Show Gist options
  • Save Isopach/fd689da644fefbc251a4a22c03dbe5be to your computer and use it in GitHub Desktop.
Save Isopach/fd689da644fefbc251a4a22c03dbe5be to your computer and use it in GitHub Desktop.
Find keyword across all your discord servers in the past day
import requests, json, sys
from datetime import date, timedelta
def findWord():
servers = getServers()
keyword = sys.argv[1]
for i in range(0,len(servers)):
url = "https://discord.com:443/api/v8/guilds/"+str(servers[i])+"/messages/search?content="+keyword
headers = {"Authorization": "redacted"}
r = requests.get(url, headers=headers)
d = json.loads(r.content)
url1 = "https://discord.com:443/api/v8/guilds/"+str(servers[i])
r1 = requests.get(url1, headers=headers)
d1 = json.loads(r1.content)
print("\n=========================================\n"+d1["name"]+"\n=========================================\n")
for j in range(0,10):
try:
x = d["messages"][j][0]["timestamp"][:10]
except (IndexError, KeyError) as e:
continue
if date(*map(int, x.split('-'))) - date.today() >= timedelta(-1):
# Checks for messages in last day
print(d["messages"][j][0]["timestamp"])
print(d["messages"][j][0]["author"]["username"])
print(d["messages"][j][0]["content"])
def getServers():
url = "https://discord.com:443/api/v8/users/@me/guilds"
headers = {"Authorization": "redacted"}
r = requests.get(url, headers=headers)
d = json.loads(r.content)
servers = []
for i in range(0,99):
servers.append(d[i]["id"])
return servers
if __name__ == "__main__":
findWord()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment