0.0.4 • Published 1 year ago

grammy-vue v0.0.4

Weekly downloads
-
License
GPL-3.0
Repository
github
Last release
1 year ago

grammy-vue

Simple utility hook to call the Telegram API using grammy and track the request status with Vue.js refs

Usage

<!-- App.vue -->
<script lang="ts" setup>
import { ref } from 'vue';
import { useTelegramApi } from 'grammy-vue';

const token = ref('')
const { useApiMethod } = useTelegramApi(token)
const { refresh: getMe, state, data: botInfo, error } = useApiMethod('getMe')
</script>

<template>
  <input type="text" v-model="token" />
  <button @click="getMe">GetMe</button>
  <div v-if="state === 'idle'">Type the token and click the button</div>
  <div v-if="state === 'loading'">Loading bot info...</div>
  <div v-if="state === 'error'">Grammy error: {{ error.message }}</div>
  <div v-if="state === 'success'">Loaded info for bot {{ botInfo.username }}</div>
</template>

Resetting status after a set amount of time

The useApiMethod hook takes an optional second parameter, which is the number of milliseconds to wait before setting the state back to idle. If you don't specify this parameter, the state will not be automatically reset.

<!-- App.vue -->
<script lang="ts" setup>
import { ref } from 'vue';
import { useTelegramApi } from 'grammy-vue';

const token = ref('')
const url = ref('')
const { useApiMethod } = useTelegramApi(token)
const { refresh: setWebhook, state, error } = useApiMethod('setWebhook', 1000) // state will be reset after 1 second
</script>

<template>
  <input type="text" v-model="token" />
  <input type="text" v-model="url" />
  <button @click="getMe(url)">SetWebhook</button>
  <div v-if="state === 'idle'">Type the token and the url, then click the button</div>
  <div v-if="state === 'loading'">Setting webhook...</div>
  <div v-if="state === 'error'">Grammy error: {{ error.message }}</div>
  <div v-if="state === 'success'">Webhook was set!</div>
</template>
0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago