def Your_Code(update, context):

    Bot_Variables = Get_Bot_Variables.Func([update, context])

    Send.Message(Bot_Variables, "hello")

    Send.Edited_Inline_Keyboard(Bot_Variables, "Text Here",
                                Button.Inline(["c", "Alert", "Alert"]),
                                Button.Inline(["c", "Answer", "Answer"]))
def Func(Bot_Variables):

    Chat_ID = Bot_Variables[1]

    Message = Bot_Variables[4]
    Users = Bot_Variables[10][0]
    update = Bot_Variables[12]
    context = Bot_Variables[14]

    Users.update_one({"chat_id": Chat_ID}, {"$set": {"neshama.name": Message}})

    write_type = Users.find_one({"chat_id": Chat_ID})["write_type"]

    Send.Inline_Keyboard(
        Bot_Variables, send_neshama.Func(Message[0], Bot_Variables),
        Button.Inline(["C", "⬅️", rolling_left.Func(write_type)],
                      ["C", "➡️", rolling_right.Func(write_type)]))

    Users.update_one({"chat_id": Chat_ID},
                     {"$set": {
                         "virtual_location": "עוד ➕"
                     }})
    Users.update_one({"chat_id": Chat_ID}, {"$set": {"neshama.place": 0}})
Esempio n. 3
0
def Func(update,context):

    """
    ---- imports ----

    import Program.Get_Bot_Variables as Get_Bot_Variables

    from Program.Send import Send as Send

    from Program.Button import Button as Button

    """

    Bot_Variables = Get_Bot_Variables.Func([update,context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]
    
    """


    """
    --- Send Class ---


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Callback_Answer(Bot_Variables,"Callback Query Answer")

Send.Callback_Alert(Bot_Variables,"Callback Query Alert")

Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """



    Message = Bot_Variables[4]

    Chat_ID = Bot_Variables[1]
    Users = Bot_Variables[10][0]
    Names = Bot_Variables[10][2]

    Users.update_one({"chat_id": Chat_ID}, {"$set": {"virtual_location" : "איזור אישי 🙎‍♂️"}})

    Names.update_one({"chat_id": Chat_ID,"status": "pending"}, {"$set": {"for":Message}})





    for_name = Message + " "+ Names.find_one({"chat_id":Chat_ID,"status":"pending"})["name"]


    text = """
    דוגמא איך יראה פרק תהילים כשמשתמש יקבל אותו עם השם שרשמת:
    
מספר הפרקים שנקראו על שם {}: 0 ( % 0.0  )
מספר פרקים שנשארו לסיום התהילים על שמו: 150 ( % 100.0  )

פרק: קל״ח ( 138 )

{}

לְדָוִד אוֹדְךָ בְכָל־לִבִּי נֶגֶד אֱלֹהִים אֲזַמְּרֶךָּ׃ אֶשְׁתַּחֲוֶה אֶל־הֵיכַל קָדְשְׁךָ וְאוֹדֶה אֶת־שְׁמֶךָ עַל־חַסְדְּךָ וְעַל־אֲמִתֶּךָ כִּי־הִגְדַּלְתָּ עַל־כָּל־שִׁמְךָ אִמְרָתֶךָ׃ בְּיוֹם קָרָאתִי וַתַּעֲנֵנִי תַּרְהִבֵנִי בְנַפְשִׁי עֹז׃ יוֹדוּךָ יְהוָה כָּל־מַלְכֵי־אָרֶץ כִּי שָׁמְעוּ אִמְרֵי־פִיךָ׃ וְיָשִׁירוּ בְּדַרְכֵי יְהוָה כִּי גָדוֹל כְּבוֹד יְהוָה׃ כִּי־רָם יְהוָה וְשָׁפָל יִרְאֶה וְגָבֹהַּ מִמֶּרְחָק יְיֵדָע׃ אִם־אֵלֵךְ בְּקֶרֶב צָרָה תְּחַיֵּנִי עַל אַף אֹיְבַי תִּשְׁלַח יָדֶךָ וְתוֹשִׁיעֵנִי יְמִינֶךָ׃ יְהוָה יִגְמֹר בַּעֲדִי יְהוָה חַסְדְּךָ לְעוֹלָם מַעֲשֵׂי יָדֶיךָ אַל־תֶּרֶף׃
    
    """.format(for_name,for_name)

    Send.Inline_Keyboard(Bot_Variables, text,
                         Button.Inline(
                                       ["C", "✅ אשר ופרסם ✅", "aproove_post"],
                             ["C", "🖌️ ערוך שוב 🖌️", "post_name"]

                         ),

    Button.Inline(
        ["C", "❌ ביטול ❌", "canel_post"],


    )

                         )
def Func(update, context):
    """
    ---- imports ----

    import Program.Get_Bot_Variables as Get_Bot_Variables

    from Program.Send import Send as Send

    from Program.Button import Button as Button

    """

    Bot_Variables = Get_Bot_Variables.Func([update, context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]
    
    """
    """
    --- Send Class ---


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Callback_Answer(Bot_Variables,"Callback Query Answer")

Send.Callback_Alert(Bot_Variables,"Callback Query Alert")

Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """

    Chat_ID = Bot_Variables[1]
    Users = Bot_Variables[10][0]

    user = Users.find_one({"chat_id": Chat_ID})

    write_type = user["write_type"]

    if write_type == "right to left":
        write_type = "גלילה מימין לשמאל ⬅️"
    else:
        write_type = "גלילה משמאל לימין ➡️"

    luck = user["luck"]

    Send.Inline_Keyboard(Bot_Variables, "שינוי הגדרות",
                         Button.Inline(["C", write_type, "write_type"]))
def Your_Code(update,context):

    """
    ---- imports ----

    from Program.Send import Send as Send

    from Program.Button import Button as Button

    import Program.Get_Bot_Variables as Get_Bot_Variables

    import threading

    """

    Bot_Variables = Get_Bot_Variables.Func([update,context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]
    
    """

    """
    --- Send Class ---


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Callback_Answer(Bot_Variables,"Callback Query Answer")

Send.Callback_Alert(Bot_Variables,"Callback Query Alert")

Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """



    Users = Bot_Variables[10][0]


    Chat_ID = Bot_Variables[1]

    Users.update_one({"chat_id": Chat_ID}, {"$set": {"random_chapter" : 92}})


    Send.Inline_Keyboard(Bot_Variables, Send_Book.Func(92,Bot_Variables),
                         Button.Inline(
                                       ["C", favoriets_name.Func(update,context), "add_random_chapter_to_favoeites"]),
                         Button.Inline(["C", "🔴 סמן כנקרא 🔴", "mark_random_as_read"])
                         )
Esempio n. 6
0
def Func(update, context):
    """
    ---- imports ----

    import Program.Get_Bot_Variables as Get_Bot_Variables

    from Program.Send import Send as Send

    from Program.Button import Button as Button

    """

    Bot_Variables = Get_Bot_Variables.Func([update, context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]
    
    """
    """
    --- Send Class ---


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Callback_Answer(Bot_Variables,"Callback Query Answer")

Send.Callback_Alert(Bot_Variables,"Callback Query Alert")

Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """
    Chat_ID = Bot_Variables[1]
    Users = Bot_Variables[10][0]

    user = Users.find_one({"chat_id": Chat_ID})

    chapter = int(user["book"]["bookmark"])
    book_chapters = user["book"]["chapters"]
    is_read_chapters = len(user["book"]["chapters"])
    write_type = user["write_type"]

    if is_read_chapters == 0:
        Users.update_one({"chat_id": Chat_ID}, {"$set": {"book.bookmark": 0}})

        Send.Inline_Keyboard(
            Bot_Variables, Send_Book.Func(0, Bot_Variables),
            Button.Inline([
                "C", "⬅️",
                rolling_left.Func(chapter, book_chapters, write_type)
            ], ["C", favoriets_name.Func(update, context), "Favorite"], [
                "C", "➡️",
                rolling_right.Func(chapter, book_chapters, write_type)
            ]),
            Button.Inline(["C",
                           is_read_name.Func(update, context), "is_read"]))
    else:
        Send.Inline_Keyboard(
            Bot_Variables,
            "כבר התחלת לקרוא כמה פרקים בתהילים מה ברצונך לעשות?",
            Button.Inline(["C", "🔵 להמשיך מאיפה שהפסקת 🔵", "start_bookmark"]),
            Button.Inline(["C", "♻️ לקרוא מחדש ♻️", "start_over"]))
Esempio n. 7
0
def Your_Code(update, context):
    """
    ---- imports ----

    from Program.Send import Send as Send

    from Program.Button import Button as Button

    import Program.Get_Bot_Variables as Get_Bot_Variables

    import threading

    """

    Bot_Variables = Get_Bot_Variables.Func([update, context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]
    
    """
    """
    --- Send Class ---


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Callback_Answer(Bot_Variables,"Callback Query Answer")

Send.Callback_Alert(Bot_Variables,"Callback Query Alert")

Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """

    Chat_ID = Bot_Variables[1]
    Users = Bot_Variables[10][0]

    user = Users.find_one({"chat_id": Chat_ID})

    chapter = int(user["book"]["bookmark"])
    favorites = user["favorites"]

    book_chapters = user["book"]["chapters"]
    write_type = user["write_type"]

    if chapter not in favorites:
        favorites.append(chapter)

        Users.update_one({"chat_id": Chat_ID},
                         {"$set": {
                             "favorites": favorites
                         }})

        Send.Callback_Answer(
            Bot_Variables, "פרק " + str(int_to_gematria(chapter + 1)) + " (" +
            str(chapter + 1) + ")" + " נוסף למועדפים ✅")

        Send.Edited_Inline_Keyboard(
            Bot_Variables, send_neshama.Func(chapter, Bot_Variables),
            Button.Inline(["C", "⬅️", rolling_left.Func(write_type)], [
                "C",
                favoriets_name.Func(update, context), "Favorite_neshama"
            ], ["C", "➡️", rolling_right.Func(write_type)]),
            Button.Inline(
                ["C",
                 is_read_name.Func(update, context), "is_read_neshama"]))

    else:

        favorites.remove(chapter)
        Users.update_one({"chat_id": Chat_ID},
                         {"$set": {
                             "favorites": favorites
                         }})
        Send.Callback_Answer(
            Bot_Variables, "פרק " + str(int_to_gematria(chapter + 1)) + " (" +
            str(chapter + 1) + ")" + " הוסר ממועדפים 🚫")

        Send.Edited_Inline_Keyboard(
            Bot_Variables, send_neshama.Func(chapter, Bot_Variables),
            Button.Inline(["C", "⬅️", rolling_left.Func(write_type)], [
                "C",
                favoriets_name.Func(update, context), "Favorite_neshama"
            ], ["C", "➡️", rolling_right.Func(write_type)]),
            Button.Inline(
                ["C",
                 is_read_name.Func(update, context), "is_read_neshama"]))
Esempio n. 8
0
    def deep_linked(cls, update, context):
        cls.start(update, context)
        cls.Bot_Variables = Get_Bot_Variables.Func([update, context])
        deep_link = update["message"]["text"]
        seperator = ""

        for i in range(8, len(deep_link), 1):
            seperator = seperator + deep_link[i]

        if len(seperator) < 4:
            chapter = int(seperator)
            Users = cls.Bot_Variables[10][0]
            Users.update_one({"chat_id": cls.Bot_Variables[1]},
                             {"$set": {
                                 "random_chapter": chapter
                             }})

            Send.Inline_Keyboard(
                cls.Bot_Variables, Send_Book.Func(chapter, cls.Bot_Variables),
                Button.Inline([
                    "C",
                    favoriets_name.Func(update, context),
                    "add_random_chapter_to_favoeites"
                ]),
                Button.Inline([
                    "C", "🔴 סמן כנקר� 🔴", "mark_random_as_read"
                ]))

        Users = cls.Bot_Variables[10][0]
        Names = cls.Bot_Variables[10][2]

        name = Names.find_one({"seperator": seperator})

        men_name = name["name"]
        chat = name["chat_id"]

        to = name["for"]

        stats = name["chapters_stats"]

        Chapter = ""
        chapters_read = len(stats)

        if len(stats) < 150:
            for i in range(150):
                if (not i in stats):
                    Chapter = i
                    break

            Users.update_one(
                {"chat_id": cls.Bot_Variables[1]},
                {"$set": {
                    "read for name.name": [men_name, Chapter]
                }})
            Users.update_one({"chat_id": cls.Bot_Variables[1]},
                             {"$set": {
                                 "read for name.chat": chat
                             }})
            next = name["link"]

            llist = [Chapter, chapters_read, men_name, to, cls.Bot_Variables]

            t = SSend_chapter.Func(llist)

            Send.Inline_Keyboard(
                cls.Bot_Variables, t,
                Button.Inline([
                    "C", "⭕� סמן כנקר� ⭕�",
                    "mark_as_read_for_name"
                ]), Button.Inline(["u", "➕ פרק נוסף ➕�", next]))
        else:
            text = " ✡✅ קרי�ת פרקי ספר התהילי� {} {} הסתיימה בהצלחה ✅�✡����".format(
                to, men_name)
            Send.Message(cls.Bot_Variables, text)
def Func(update, context):
    """
    ---- imports ----

    import Program.Get_Bot_Variables as Get_Bot_Variables

    from Program.Send import Send as Send

    from Program.Button import Button as Button

    """

    Bot_Variables = Get_Bot_Variables.Func([update, context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]
    
    """
    """
    --- Send Class ---


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Callback_Answer(Bot_Variables,"Callback Query Answer")

Send.Callback_Alert(Bot_Variables,"Callback Query Alert")

Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """

    url = "https://telegram.me/share/url?url={}"

    text = "讗谞讬 诪讝诪讬谉 讗讜转讱 诇讛讬讻谞住 诇讘讜讟 讛转讛讬诇讬诐 砖诇 讟诇讙专诐馃槆馃寑"

    url = url.format(
        urllib.parse.quote(text + "\n https://t.me/Tehilim_Book_bot"))

    Send.Inline_Keyboard(Bot_Variables, "砖诇讞 诇讞讘专 讗转 讘讜讟 讛转讛讬诇讬诐 馃寑",
                         Button.Inline(["U", "诇讞抓 诇砖讬转讜祝 馃憤", url]))
Esempio n. 10
0
def Your_Code(update, context):
    """
    ---- imports ----

    from Program.Send import Send as Send

    from Program.Button import Button as Button

    import Program.Get_Bot_Variables as Get_Bot_Variables

    import threading

    """

    Bot_Variables = Get_Bot_Variables.Func([update, context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]
    
    """
    """
    --- Send Class ---


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Callback_Answer(Bot_Variables,"Callback Query Answer")

Send.Callback_Alert(Bot_Variables,"Callback Query Alert")

Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """

    Chat_ID = Bot_Variables[1]
    Users = Bot_Variables[10][0]

    user = Users.find_one({"chat_id": Chat_ID})

    chapter = int(user["book"]["bookmark"])
    book_chapters = user["book"]["chapters"]
    write_type = user["write_type"]

    if chapter not in book_chapters:
        book_chapters.append(chapter)

        Users.update_one({"chat_id": Chat_ID},
                         {"$set": {
                             "book.chapters": book_chapters
                         }})

        Send.Callback_Answer(
            Bot_Variables, "פרק " + str(int_to_gematria(chapter + 1)) + " (" +
            str(chapter + 1) + ")" + " סומן כנקרא ✅")
        if chapter < 149:
            Users.update_one({"chat_id": Chat_ID},
                             {"$set": {
                                 "book.bookmark": chapter + 1
                             }})
            Send.Edited_Inline_Keyboard(
                Bot_Variables, Send_Book.Func(chapter + 1, Bot_Variables),
                Button.Inline([
                    "C", "⬅️",
                    rolling_left.Func(chapter, book_chapters, write_type)
                ], ["C", favoriets_name.Func(update, context), "Favorite"], [
                    "C", "➡️",
                    rolling_right.Func(chapter, book_chapters, write_type)
                ]),
                Button.Inline(
                    ["C", is_read_name.Func(update, context), "is_read"]))

            try:
                chapter_count = Users.find_one(
                    {"chat_id": Chat_ID})["stats_chapters"][str(chapter)]
            except:
                chapter_count = 0
            Users.update_one({"chat_id": Chat_ID}, {
                "$set": {
                    "stats_chapters." + str(chapter): int(chapter_count) + 1
                }
            })
        else:
            try:
                chapter_count = Users.find_one(
                    {"chat_id": Chat_ID})["stats_chapters"][str(chapter)]
            except:
                chapter_count = 0
            Users.update_one({"chat_id": Chat_ID}, {
                "$set": {
                    "stats_chapters." + str(chapter): int(chapter_count) + 1
                }
            })
            #Users.update_one({"chat_id": Chat_ID}, {"$set": {"book.bookmark": chapter+1}})
            Send.Edited_Inline_Keyboard(
                Bot_Variables, Send_Book.Func(chapter, Bot_Variables),
                Button.Inline([
                    "C", "⬅️",
                    rolling_left.Func(chapter, book_chapters, write_type)
                ], ["C", favoriets_name.Func(update, context), "Favorite"], [
                    "C", "➡️",
                    rolling_right.Func(chapter, book_chapters, write_type)
                ]),
                Button.Inline(
                    ["C", is_read_name.Func(update, context), "is_read"]))

    else:

        book_chapters.remove(chapter)
        Users.update_one({"chat_id": Chat_ID},
                         {"$set": {
                             "book.chapters": book_chapters
                         }})
        Send.Callback_Answer(
            Bot_Variables, "פרק " + str(int_to_gematria(chapter + 1)) + " (" +
            str(chapter + 1) + ")" + " סומן כלא נקרא 🚫")

        chapter_count = Users.find_one({"chat_id": Chat_ID})["stats_chapters"]
        chapter_count = chapter_count[str(chapter)] - 1

        Users.update_one(
            {"chat_id": Chat_ID},
            {"$set": {
                "stats_chapters." + str(chapter): chapter_count
            }})

        Send.Edited_Inline_Keyboard(
            Bot_Variables, Send_Book.Func(chapter, Bot_Variables),
            Button.Inline([
                "C", "⬅️",
                rolling_left.Func(chapter, book_chapters, write_type)
            ], ["C", favoriets_name.Func(update, context), "Favorite"], [
                "C", "➡️",
                rolling_right.Func(chapter, book_chapters, write_type)
            ]),
            Button.Inline(["C",
                           is_read_name.Func(update, context), "is_read"]))

    if len(book_chapters) > 149:
        Users.update_one({"chat_id": Chat_ID}, {"$set": {"book.chapters": []}})

        Send.Message(
            Bot_Variables,
            "ברכותינו‼️ סיימתם את ספר התהילים בהצלחה ❗️💚📖📖 התווספה נקודה לסטטיסטיקה האישית שלכם!💚🥳🥳😇😇😇"
        )
def Func(update, context):
    """
    ---- imports ----

    import Program.Get_Bot_Variables as Get_Bot_Variables

    from Program.Send import Send as Send

    from Program.Button import Button as Button

    """

    Bot_Variables = Get_Bot_Variables.Func([update, context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]
    
    """
    """
    --- Send Class ---


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Callback_Answer(Bot_Variables,"Callback Query Answer")

Send.Callback_Alert(Bot_Variables,"Callback Query Alert")

Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """

    lucks = [
        "מאזניים ♎️", "עקרב ♏️", "קשת ♐️", "גדי ♑️", "דלי ♒️", "דגים ♓️",
        "טלה ♈️", "שור ♉️", "תאומים ♊️", "סרטן ♋️", "אריה ♌️", "בתולה ♍️"
    ]

    Send.Inline_Keyboard(
        Bot_Variables,
        "בחר מזל",
        Button.Inline(["C", lucks[0], "l0"], ["C", lucks[1], "l1"]),
        Button.Inline(["C", lucks[2], "l2"], ["C", lucks[3], "l3"]),
        Button.Inline(["C", lucks[4], "l4"], ["C", lucks[5], "l5"]),
        Button.Inline(["C", lucks[6], "l6"], ["C", lucks[7], "l7"]),
        Button.Inline(["C", lucks[8], "l8"], ["C", lucks[9], "l9"]),
        Button.Inline(["C", lucks[10], "l10"], ["C", lucks[11], "l11"]),
    )
def Your_Code(update, context):
    """
    ---- imports ----

    from Program.Send import Send as Send

    from Program.Button import Button as Button

    import Program.Get_Bot_Variables as Get_Bot_Variables

    import threading

    """

    Bot_Variables = Get_Bot_Variables.Func([update, context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]
    
    """
    """
    --- Send Class ---


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Callback_Answer(Bot_Variables,"Callback Query Answer")

Send.Callback_Alert(Bot_Variables,"Callback Query Alert")

Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """

    Chat_ID = Bot_Variables[1]
    Names = Bot_Variables[10][2]

    count = Names.find({"chat_id": Chat_ID, "status": "in progress"}).count()
    count2 = Names.find({"chat_id": Chat_ID, "status": "finished"}).count()
    if count == 0 and count2 == 0:
        Send.Message(Bot_Variables, "לא פרסמת שום שם עדיין")
    else:

        names = Names.find({"chat_id": Chat_ID, "status": "in progress"})

        text = ""
        for i in range(names.count()):

            name = "שם: {}\n".format(names[i]["name"])
            chapters_count = "פרקים שנקראו: {}\n".format(
                str(len(names[i]["chapters_stats"])))
            link = "לינק אישי: {}\n\n".format(names[i]["link"])

            text = text + name + chapters_count + link

        names = Names.find({"chat_id": Chat_ID, "status": "finished"})

        for i in range(names.count()):
            name = " שם: " + names[i]["name"] + ","

            chapters_count = " הכל ✔️"
            text = text + name + " פרקים שנקראו: " + str(
                chapters_count) + "\n\n"

        Send.Inline_Keyboard(
            Bot_Variables, text,
            Button.Inline(["C", "🚫 מחיקת שם 🚫", "delete_name"]))
Esempio n. 13
0
def Func(update, context):

    Bot_Variables = Get_Bot_Variables.Func([update, context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]

    * in order to use "Get_Other_Functions.Func(Other_Function_Name,*args)" you have to import this module: "import Program.Get_Other_Functions as Get_Other_Functions"
    """
    """"
    --- Send Class ---

# -In order to use Send Functions you have to import Send module: "from Program.Send import Send as Send" - #
# -In order to use Button Functions you have to import Button module: "from Program.Button import Button as Button" - #


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """

    Send.Inline_Keyboard(
        Bot_Variables, "Text Here",
        Button.Inline(["U", "URL Button", "https://www.google.co.il/"],
                      ["C", "Callback Button", "Inline Example"]),
        Button.Inline(["C", "Callback Button", "Inline Example"],
                      ["U", "URL Button", "https://www.google.co.il/"]))
def Func(update,context):

    """
    ---- imports ----

    import Program.Get_Bot_Variables as Get_Bot_Variables

    from Program.Send import Send as Send

    from Program.Button import Button as Button

    """

    Bot_Variables = Get_Bot_Variables.Func([update,context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]
    
    """


    """
    --- Send Class ---


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Callback_Answer(Bot_Variables,"Callback Query Answer")

Send.Callback_Alert(Bot_Variables,"Callback Query Alert")

Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """
    Send.Inline_Keyboard(Bot_Variables, "כששם לקריאת תהילים מפורסם ,  תקבלו קישור אישי לפרסום , כל משתמש שנכנס לקישור יקבל פרק אחר באופן אוטומטי וכך תושלם כל קריאת ספר התהילים לשם יקירכם. ",
                         Button.Inline(["C", "פרסם שם 🌀", "post_name"],
                                       ["C", "שמות שפרסמת ✡️", "manage_names"]))
def Your_Code(update, context):
    """
    ---- imports ----

    from Program.Send import Send as Send

    from Program.Button import Button as Button

    import Program.Get_Bot_Variables as Get_Bot_Variables

    import threading

    """

    Bot_Variables = Get_Bot_Variables.Func([update, context])

    # - Variables - #
    """
    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]
    Mongo_Collections = Bot_Variables[10]
    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]
    
    """
    """
    --- Send Class ---


Send.Message(Bot_Variables,"Paste Text Here")

Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))



#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

# send edited keyboard, its edit current inline keyboard and change buttons give deep navigation effect

Send.Edited_Inline_Keyboard(Bot_Variables,"Text Here",
                            Button.Inline(["u","URL Button","www.google.co.il"])
                            )


Send.Callback_Answer(Bot_Variables,"Callback Query Answer")

Send.Callback_Alert(Bot_Variables,"Callback Query Alert")

Send.Forword(Bot_Variables,from_chat_id,to_chat_id,message_id)


# send any file by file id , type : video/voice message/photo/document/sticker
Send.Any_File(Bot_Variables,file_id,caption)


--- Buttons Types ---

# regular markup button
Button.Markup("button text1","button text2")

# make button markup to send user location
Button.Markup_Location("button text")

# make button markup to send user phone number
Button.Markup_Phone("button text")

# regular inline button
Button.Inline( ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"])

#syntax:

* each time activated gives 1 rows of buttons


#Markup synatx
Send.Keyboard(Bot_Variables, "Text Here",
                  Button.Markup("button 1"),
                  Button.Markup(Button.Markup_Location("Send_Location")),
                  Button.Markup( Button.Markup_Phone("Send_Phone") , "button 5", "button 6"))


#Inline synatx
#NOTE: when when you used Button.Inline() for creating buttons for inline keyboard this is the syntax:
# ["URL/CALLBACK Button type( u/c )","button text","the url or callback name"]
# the callback name is the name you gave to the file you created in "Inline_Function" folder (not include the .py extinction)

Send.Inline_Keyboard(Bot_Variables, "Text Here" ,
                         Button.Inline(  ["U","URL Button","https://www.google.co.il/"] ,  ["C","Callback Button","Template"] ) ,
                         Button.Inline(["C","Callback Button","Template"] ,["U","URL Button","https://www.google.co.il/"])
                         )

    """

    TOKEN = Bot_Variables[0]
    Chat_ID = Bot_Variables[1]
    First_Name = Bot_Variables[2]
    UserName = Bot_Variables[3]
    Message = Bot_Variables[4]
    Message_ID = Bot_Variables[5]
    File_ID = Bot_Variables[6]
    Virtual_Location = Bot_Variables[7]
    User_Privileges = Bot_Variables[8]
    User_Lang = Bot_Variables[9]

    Json_Message = Bot_Variables[11]
    Update = Bot_Variables[12]
    Other_Variables = Bot_Variables[13]
    Context = Bot_Variables[14]

    Names = Bot_Variables[10][2]
    Users = Bot_Variables[10][0]
    user = Users.find_one({"chat_id": Chat_ID})

    men_name = user["read for name"]["name"][0]
    chapter = user["read for name"]["name"][1]
    chat = user["read for name"]["chat"]

    chapters = Names.find_one({
        "chat_id": chat,
        "name": men_name
    })["chapters_stats"]

    if (not chapter in chapters):
        chapters.append(chapter)
        Names.update_one({
            "chat_id": chat,
            "name": men_name
        }, {"$set": {
            "chapters_stats": chapters
        }})

    Send.Callback_Alert(
        Bot_Variables, "פרק " + str(int_to_gematria(chapter + 1)) + " (" +
        str(chapter + 1) + ")" + " סומן כנקרא ✅")
    to = Names.find_one({"chat_id": chat, "name": men_name})["for"]
    llist = [chapter, len(chapters), men_name, to, Bot_Variables]

    t = SSend_chapter.Func(llist)
    next = Names.find_one({"chat_id": chat, "name": men_name})["link"]

    Send.Edited_Inline_Keyboard(Bot_Variables, t,
                                Button.Inline(["u", "➕ פרק נוסף ➕️", next]))