мой первый пост здесь. Если вы посмотрите / r / EDH прямо сейчас, вы увидите моего бота на первой странице. Идея заключается в том, что когда вы набираете? Edhbot [название карты]? он дает вам ссылки на соответствующие страницы на edhrec.com.
По некоторым причинам, похоже, некоторые люди игнорируют его, и мой бот не сообщает о проблемах с ограничением скорости. Они не понимают, что такое неправильно, поэтому я действительно не могу понять, что они делают неправильно? Вот мой код для справки:
#imported modules
import praw
import string
#functions
def main():
#API login
#I have no idea what I can't show so I redacted most lol
reddit = praw.Reddit(client_id="REDACTED",
client_secret = "REDACTED",
user_agent = "a bot for my epq, by aggressivechairs",
username = "EPQ_MTG_BOT",
password = "REDACTED")
subreddit = reddit.subreddit("all")
wakeword = "?edhbot "
for comment in subreddit.stream.comments():
if wakewordCheck(comment, wakeword): reply = generateComment(comment)
#Checks comment to see if it contains the wake word for the bot
def wakewordCheck(comment, wakeword):
if wakeword in comment.body: return(True)
else: return(False)
#Generates the link extension
def linkGenerator(inString):
startPoint = inString.index("?edhbot ")
inString = inString.lower()
outString = ""
for i in range(startPoint+8, len(inString)):
if inString[i] == "?":
break
elif inString[i] in string.punctuation:
continue
elif inString[i] in string.whitespace:
outString += "-"
continue
outString += inString[i]
return(outString)
#Generates the text that will be used in the bot's reply
def generateComment(comment):
try:
normalisedLink = linkGenerator(comment.body)
commentReply = "[EDHRec page for the commander](https://edhrec.com/commanders/"+normalisedLink+") \n\n [EDHREC page for that as a card](https://edhrec.com/cards/"+normalisedLink+")"
comment.reply(commentReply)
print("I did it with " + comment.body)
except Exception as e: print(e)
if __name__ == "__main__":
main()
Так что да, когда вы используете тип? Edhbot, он либо читает до конца комментария, либо до тех пор, пока не встретит новый вопросительный знак. Если вы посмотрите эту ветку, вы увидите, что она просто игнорирует некоторых людей. https://www.reddit.com/r/EDH/comments/9ec677/im_a_new_bot_made_just_for_this_sub/?sort=new
Что вы предлагаете? Я не могу понять, что происходит не так: / О, и если вы заметите какую-то плохую практику кодирования, не стесняйтесь сказать мне! Я хочу улучшить хаха