It's okay but can be optimized a lot. You're using "send message" over and over again, rather than sending a single message with "%nl%" to represent a new line. When doing it without the new line messages can be sent in between those causing a weird thing, and less packets have to be sent to clients.
Your way of proximity chat is a bit sloppy and can be optimized like this:
send "%player's prefix%%player%%player's suffix% &7» %message%" to all players where [distance between input and player <= {proximitychat::radius}]
Hey, thanks for the suggestions! I will definetly implement that as looping through each value could lag the server. Also thanks for the suggestions about the %nl%!